重置/设置Highstock中的ZoomType控件

时间:2012-02-16 09:29:12

标签: javascript jquery highcharts highstock

我正在使用highcharts api在我的应用程序中开发图表。我正在使用highcharts中的highstack类。

我正在寻找的是我想要从外部按钮处理缩放控制。

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

我尝试过以下属性:

zoomType:'xy'

我试图重置上面的属性,但失败了。

请给我任何解决此问题的建议。

提前致谢..

1 个答案:

答案 0 :(得分:1)

好吧,您可以使用以下代码删除mousedown处理程序: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;
    });
});