2016-04-25 209 views
1

我有一個Highcharts縮放選項的小問題。HighCharts - 在縮放重置中設置最大和最小值

我想重置縮放以保留我設置的最大值和最小值。用戶可以放大,但是當他縮小(使用重置縮放按鈕)時,我希望圖表符合我之前設置的最大值和最小值。

現在,highcharts抓住dataMin和dataMax values重置縮放。

我試圖覆蓋setExtreme事件中的取值,但沒有成功。

下面是一個代碼段示出該行爲:

$(function() { 
    $('#container').highcharts({ 
    chart: { 
     zoomType: 'x', 
    }, 
    xAxis: { type:'datetime' }, 
    series: [{ 
     data: [ 
      [Date.UTC(1970, 10, 9), 0.25], 
      [Date.UTC(1970, 10, 27), 0.2], 
      [Date.UTC(1970, 11, 2), 0.28], 
      [Date.UTC(1970, 11, 26), 0.28], 
      [Date.UTC(1970, 11, 29), 0.47], 
      [Date.UTC(1971, 0, 11), 0.79], 
      [Date.UTC(1971, 0, 26), 0.72], 
      [Date.UTC(1971, 1, 3), 1.02], 
      [Date.UTC(1971, 1, 11), 1.12], 
      [Date.UTC(1971, 1, 25), 1.2], 
      [Date.UTC(1971, 2, 11), 1.18], 
      [Date.UTC(1971, 3, 11), 1.19], 
      [Date.UTC(1971, 4, 1), 1.85], 
      [Date.UTC(1971, 4, 5), 2.22], 
      [Date.UTC(1971, 4, 19), 1.15], 

     ] 
    }] 
    }); 
    var chart = $('#container').highcharts(); 
    chart.xAxis[0].setExtremes(Date.UTC(1970, 5, 9), Date.UTC(1971, 10, 9)); 
}); 

http://jsfiddle.net/Ln7x4mba/1/

SOLUTION

基於在@jlbriggs回答,並且自我被動態地更新在同一圖表,該解決方案是:

chart.xAxis[0].update({min: myMinValue, max: myMacValue}); 

http://jsfiddle.net/Ln7x4mba/4/

回答

5

如果設置的最小和最大的一部分您的x軸配置選項,而不是在構建圖表後調用setExtremes()函數,重置縮放按預期泰德(和它的效率更高):

xAxis: { 
    type:'datetime', 
    min: Date.UTC(1970, 5, 9), 
    max: Date.UTC(1971, 10, 9) 
} 

更新小提琴:

+0

我做了不同的(見問題版)一點點,但你的回答導致瞭解。謝謝。 – lcguida

0

隱藏顯示在圖表內

chart: { 
    resetZoomButton: { 
    theme: { 
     display: 'none' 
    } 
    } 
} 

然後使用自己的按鈕,該按鈕:

$('#button2').click(function(){ 
    chart.xAxis[0].setExtremes(Date.UTC(1970, 5, 9), Date.UTC(1971, 10, 9)); 
}); 

Updated Fiddle

相關問題