2013-10-23 113 views
0

我想添加滾動選項,例如創建圖表後:添加選項按鈕的Highcharts點擊

$(document).ready(function() { 

chart = new Highcharts.Chart({ 

    chart: { renderTo:'chart_container' }, 

    series: [{ data: [[20, 20], [80, 80]] }] 
}); 

現在點擊一個按鈕其他地方的頁面滾動條選項添加到圖表

scrollbar: { 
    enabled: true 
}, 
+0

Highchart或Highstock?我認爲滾動條選項只在高倉位。 – SteveP

+1

對不起,Highcharts/Highstock沒有任何方法可以實時更新'scrollbar'等選項。唯一的解決方案是:a)銷燬並重新創建圖表b)在源代碼中找到scroller如何插入並嘗試自行實現這一點 –

回答

0
scrollbar: { 
enabled : true 
} 

這是不可能從外面添加或點擊。

但相反,如果你使用highstock yes你可以得到一個滾動條,但不是像上面那樣。

您必須爲xAxis設置最小值和最大值。這將使滾動條

這裏有一個例子http://jsfiddle.net/jKgDn/1/

希望你

0

我終於成功,這是有用的:

click() => 

    Highcharts.setOptions({scrollbar:{enabled:true}}); 

    var chartOptions = chart.options; 

    chart.destroy(); 

    var chart1 = new Highcharts.Chart(chartOptions); 

其中圖是舊圖表沒有滾動條

它起作用,如果最小最大定義(tx罷工)

+0

老實,好奇的工作,但如果工作的很好。 –

0

它可能作爲工作。 - 啓用滾動條 - 隱藏svg元素 - 如果需要顯示滾動條,請在元素上調用show函數。

回調:

setTimeout(function(){ 
      enableScroll(false); 
     },1); 

     $('#btn').click(function() { 
      enableScroll(true); 
     }); 

功能enableScroll

function enableScroll(vis) { 
    var chart = $('#container').highcharts(), 
     s = chart.scroller, 
     showHide = vis ? 'show' : 'hide'; 

       s.scrollbar[showHide](); 
       s.scrollbarGroup[showHide](); 
       s.scrollbarRifles[showHide](); 
       s.scrollbarTrack[showHide](); 

       $.each(s.scrollbarButtons,function(j,elem) { 
       elem[showHide](); 
       }); 

       $.each(s.elementsToDestroy, function (i, elem) { 
        elem[showHide](); 
       }); 

    }; 

例如: http://jsbin.com/USOGOtu/1/