在Highcharts中,有一個很好的功能可以縮放和窗格化該區域。但是爲了使用平移 - 它應該與在這裏的例子中提到的shift鍵結合使用。有沒有辦法在放大而不是平移時顯示滾動條?Highcharts Zooming with Scroll Bar
回答
您可以使用渲染器,讓您的自定義滾動條與它: http://api.highcharts.com/highcharts#Renderer.rect
你可以讓兩個矩形,一個爲你的滾動條背景和第二你的滾動按鈕。 http://api.highcharts.com/highcharts#Element.attr
chart.renderer.rect(0, height - 60, width, 20)
.attr({
fill: '#666',
zIndex: 3,
visibility: 'hidden'
}).addClass('scroll')
.add();
您可以使用afterSetExtremes事件及其回調函數裏面,你可以用你的復位變焦按鈕的知名度連接您的滾動條的可見性:
可以使用ATTR()來改變它們的屬性 http://api.highcharts.com/highcharts#xAxis.events.afterSetExtremes
您需要計算滾動條和x位置的寬度。你可以通過你的座標軸的最小和最大以及寬度的簡單的數學比例來完成。例如,您可以設置寬度內重繪事件的回調函數:
redraw: function() {
var chart = this;
this.xAxis[0].displayBtn ? ($('.scrollBar').show() && $('.scroll').show()) : ($('.scrollBar').hide() && $('.scroll').hide())
width = chart.chartWidth;
newWidth = width * (max - min)/(oldMax - oldMin);
$('.scroll').attr({
width: width
});
$('.scrollBar').attr({
width: newWidth,
x: width * min/oldMax,
});
}
您需要的mousedown和鼠標移動事件添加到您的滾動條。你可以使用jQuery來完成。裏面mousemove事件,你需要重新計算你的鼠標位置的滾動按鈕築底的x位置:
$('.scrollBar').on('mousedown', function() {
var mousePos;
$(this).bind('mousemove', function(e) {
$(this).attr({
x: e.clientX + 70,
})
chart.xAxis[0].setExtremes(min - ((mousePos || e.clientX) - e.clientX) * oldMax/width, max - ((mousePos || e.clientX) - e.clientX) * oldMax/width, true, false);
mousePos = e.clientX;
});
})
在這裏你可以看到一個例子是如何工作的: http://jsfiddle.net/LnneuLoy/8/
親切的問候。
這太棒了!我做了一個稍微更新的版本,在文檔級別添加'mousemove',使滾動變得更加流暢: http://jsfiddle.net/LnneuLoy/20/ – lecker909
- 1. Highstock:xy zooming with panning
- 2. Div with scroll bar - 使用scrollTop滾動到頂部()
- 3. Textview with lines scroll
- 4. HTML Divs,Columns,Horizontal Scroll Bar
- 5. Tableview with Navigation bar
- 6. Div Scroll with android 2.3.3
- 7. jquery smartAutocomplete with infinite scroll
- 8. React Native:ScrollView with auto scroll
- 9. React dnd with auto Scroll
- 10. Simplemodal Scroll Bar and Close Image問題
- 11. fullpage mousewheel scroll with easeInCirc效果
- 12. jQuery onepage-scroll with a scrollable div
- 13. Highcharts Bar延伸過去MaxValue
- 14. Highcharts Bubble with text
- 15. Highcharts errorors with corsshairs
- 16. Highcharts-ng with drilldown
- 17. Android fullscreen activity with action bar
- 18. addPoint with HIGHCHARTS(xAxis dateTime)
- 19. Highcharts with angularjs without jquery
- 20. Impementing Vertical Scroll with horizontal swipe in Android
- 21. Zooming Distortation
- 22. Python Tkinter Text Widget with Auto&Custom Scroll
- 23. CALayer with Scroll View上的動畫
- 24. 覆蓋瀏覽器CTRL +(WHEEL)SCROLL with javascript
- 25. Changinx Bar Charts在Highcharts上的X位置
- 26. <ion-scroll zooming =「true」> - 標籤似乎不允許放大模態對話框
- 27. AngularJS for Highcharts with dynamic ajax data
- 28. 混亂的LineChart with highcharts
- 29. Highcharts with JSON雙引號
- 30. highcharts add plotline label with images
嗨,你見過Highstock圖表嗎?我認爲這個圖表可以滿足你的要求。看看這個例子:http://jsfiddle.net/gh/get/jquery/1.9.1/highslide-software/highcharts.com/tree/master/samples/stock/demo/basic-line/ –
是的,但我不想用highstock。 – Kalyan
如果添加highstock.js庫,則可以使用Highcharts中的滾動條。在這裏,您可以看到一個示例如何工作:http://jsfiddle.net/fj6d2/3571/ –