2012-02-16 72 views
2

我正在使用highcharts api在我的应用程序中开发图表。我使用highcharts的highstack类。重置/设置Highstock中的ZoomType控件

我在看的是我想处理外部按钮的缩放控制。

例如,有一个单选按钮,如缩放(是,否),如果我们选择是,则应在我的图表中启用缩放功能。如果没有选择,则应禁用缩放功能。

我有以下属性的尝试:

zoomType: 'XY'

我曾尝试重置上述财产,但没有成功。

请给我任何建议来解决这个问题。

在此先感谢..

+0

我能理解你为什么会想“缩放控制”从外部按钮来改变缩放以同样的方式highstock的范围有默认的按钮对于特定的日期范围,但我无法确定如何通过提供一个完全按“开”或“关”的缩放按钮来帮助最终用户:它似乎不是特别必要的功能。 – mg1075 2012-02-17 04:15:48

回答

1

好了,你可以直接拔下鼠标按下处理程序用下面的代码:chart.container.onmousedown。这不是最好的解决方案(并且在使用触摸事件时我没有在移动设备上进行测试),但无论如何,这是一个很好的起点。

在这里你可以找到现场演示:http://jsfiddle.net/3qYAZ和演示代码:

window.chart = new Highcharts.Chart({ 

    chart: { 
     renderTo: 'container', 
     zoomType: 'x' 
    }, 

    series: [{ 
     data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4] 
    }] 

}, function (chart) { 

    var checkbox = $('#zoom'), // a checkbox input in your html 
     zoomHandler = chart.container.onmousedown; 

    checkbox.on('change', function() { 
     if (this.checked) 
      chart.container.onmousedown = zoomHandler; 
     else 
      chart.container.onmousedown = null; 
    }); 
});