2012-02-16 73 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; 
    }); 
});