2014-11-21 44 views
4

首先,我在我的頁面上有幾個圖表 - 爲了更容易地比較不同圖表中的數據,我將yAxis的最大值設置爲可用的最大值。Highcharts reset y Axis

問題:如何恢復我剛纔設置的最大值而無需重新獲取數據?我在尋找像「自動縮放」這樣的東西,因爲它的工作原理是,如果我添加最大值11245,最大yAxis是12500.我想恢復所有的圖表。

演示:http://jsfiddle.net/wiesson/0p4z1mfj

$('#setMax').click(function (ev) { 
    var yAxisMax = 0; 
    $('[data-chart]').each(function (item) { 
     var c = $(this).highcharts(); 
     if (c.yAxis[0].max > yAxisMax) { 
      yAxisMax = c.yAxis[0].max; 
     } 
    }); 

    $('[data-chart]').each(function (item) { 
     c = $(this).highcharts(); 
     if (c.yAxis[0].max < yAxisMax) { 
      c.yAxis[0].update({ 
       max: yAxisMax 
      }); 
     } 
    }); 
}); 

回答

2

您可以簡單地從軸刪除極端。一般來說,我會建議使用axis.setExtremes(min, max)而不是axis.update(options)。與update相比,setExtremes應該有更好的性能。

代碼:

$('#setDefault').click(function (ev) { 
    $('[data-chart]').each(function (item) { 
     $(this).highcharts().yAxis[0].setExtremes(null, null); 
    }); 
}); 

和演示:http://jsfiddle.net/0p4z1mfj/9/