在这个jsfiddle中,每当切换系列的可见性时,图表都会有很好的缩放效果。
但是当我添加UpperLimit系列时,这个效果会丢失,因为该系列具有最低和最高的x值。
如何让图表放大我选择的系列,并防止其他系列影响缩放边界?
{
name: 'UpperLimit',
color: '#FF0000',
dashStyle: 'ShortDash',
showInLegend: false,
//affectsZoomBox: false, //No such thing :(
data: [
[1, 100],
[10, 100]
]
},
答案 0 :(得分:3)
我不认为使用该系列的配置是可能的。但是,如果你愿意破解一下,可以从轴极值的计算中排除一个或多个系列:
chart.xAxis[0].oldGetSeriesExtremes = chart.xAxis[0].getSeriesExtremes;
chart.xAxis[0].getSeriesExtremes = function() {
var axis = this;
var originalSeries = axis.series;
var series = [];
for (var i = 0; i < originalSeries.length; i++) {
// Filter out the series you don't want to include in the calculation
if (originalSeries[i].name != 'UpperLimit') {
series.push(originalSeries[i]);
}
}
axis.series = series;
axis.oldGetSeriesExtremes();
axis.series = originalSeries;
}
该代码显示了如何覆盖轴对象上的getSeriesExtremes
函数。该方法将替换为一个包装器,该包装器将删除应排除的系列,然后调用原始函数,然后将原始系列恢复到轴。
这显然是一个黑客攻击。但是,它适用于我的机器...