2013-10-23 116 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/