2016-04-25 308 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

相关问题