2014-11-21 42 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/