gpt4 book ai didi

javascript - HighStock 中 setExtremes 和 afterSetExtremes 之间的区别

转载 作者:行者123 更新时间:2023-12-02 15:56:00 30 4
gpt4 key购买 nike

我是 Highchart 的新手,我对 setExtremesafterSetExtremes 有疑问,我不确定我是否理解它们之间的区别。

这是一个场景:setExtremes 回调函数中有一个从服务器检索 json 数据的函数。我将使用 setExtremes 预先设置图表范围(例如 2015-01-01 到 2015-05-01),这样每次设置图表范围时,都会调用此函数来获取来自服务器的新数据,但从服务器获取的数据可能具有不同的日期范围(例如 2015-03-01 到 2015-05-04)。我想根据数据的新范围调整图表范围。但是如果我在setExtremes回调函数中再次使用setExtremes,就会出现无限循环。

http://api.highcharts.com/highstock#xAxis.events.afterSetExtremes

this event fires after the final min and max values are computed

所以我想这会解决我的问题,但我不确定具体如何解决?

最佳答案

差异如 API 引用中所述:可以使用 Not Acceptable 范围调用 setExtremes - 在 afterSetExtremes 范围得到纠正。

您可以扩展 Highcharts 以更改最小值和最大值,然后将值发送到原始 setExtremes 函数。 Highcharts 的延迟加载演示使用动态加载数据,因此让我们向 jsFiddle 添加包装器。

示例:http://jsfiddle.net/yu6ztw7h/

(function (H) {
H.wrap(H.Axis.prototype, 'setExtremes', function (proceed) {
var newMin = arguments[1],
newMax = arguments[2];

arguments[1] = (newMin+newMax)/2;

// Run original proceed method
proceed.apply(this, [].slice.call(arguments, 1));
});
}(Highcharts));

在这种情况下,范围起始值 (newMin) 将更改为原始范围的一半。您可以在包装器中加载数据,检查其极端情况,将更改后的值传递给原始方法。

关于javascript - HighStock 中 setExtremes 和 afterSetExtremes 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31551390/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com