我正在使用 syncExtremes 函数来同步多个图表(及其缩放),如下例所示:
但是我遇到了两个问题,我似乎找不到解决方法。第一个是,如果您在不重置的情况下在不同的图表中多次缩放,然后单击重置缩放按钮之一,则其他“重置”缩放按钮会挂起(我希望它们消失单击时没有任何功能。
然后我修改了小提琴以允许进行 xy 缩放:
如果放大第一个图表,然后放大第二个图表,然后放大第三个图表,并尝试取消放大第一个图表,其他两个图表将保持放大一半。
我尝试过
chart.xAxis[0].setExtremes(null, null);
但还没有运气
是否甚至可以在x缩放示例中同时重置所有图表中的所有xy缩放?
答案 0 :(得分:0)
当前,您仅使用xy
缩放类型重置x轴极限,还需要重置y轴极限:
var H = Highcharts;
H.wrap(H.Chart.prototype, 'zoomOut', function(proceed) {
proceed.apply(this, Array.prototype.slice.call(arguments, 1));
H.charts.forEach(function(chart) {
if (chart !== this) {
chart.yAxis[0].setExtremes(null, null, undefined, false);
}
}, this);
});
要控制resetZoomButton
的显示,可以包装showResetZoom
方法,例如:
H.wrap(H.Chart.prototype, 'showResetZoom', function(proceed) {
var visibleBtn = false;
H.charts.forEach(function(chart) {
if (chart.resetZoomButton) {
visibleBtn = true;
}
});
if (!visibleBtn) {
proceed.apply(this, Array.prototype.slice.call(arguments, 1));
}
});
实时演示:https://jsfiddle.net/BlackLabel/bg7L1nev/
文档:https://www.highcharts.com/docs/extending-highcharts/extending-highcharts