我使用HighStock跟踪2系列的实时值更新,如小提琴http://jsfiddle.net/Tnmdk所示。然而,由于HighStock的导航仪只允许我适应单个基本系列,我创建了一个虚拟基础系列,我每1秒添加一个虚拟点。对于每个系列,我也会每1秒延长一次。但是,在大约390次更新后,图表会停止扩展点并且渲染失败。
我已经确认lastValue.x不等于lastVisibleValue.x并且延迟停止。与lastValue.x相比,似乎lastVisibleValue.x被裁剪了几毫秒。
// No need to extend points that are not visible
if ((!lastValue) || (!lastVisibleValue) || (lastValue.x !== lastVisibleValue.x)) {
return;
}
要重现该错误,只需点击"添加到系列1" &安培; "添加到系列2"按钮并等待大约400秒。您可以打开浏览器的检查器并检查控制台日志以获取更新次数的计数。
如果我缩短导航器中的时间段,则会再次渲染图表。但是,如果导航器的选定区域中有超过390个点,则渲染将失败。
它似乎是导航仪的基础'系列越来越多了。但是,我不明白为什么会发生这种情况,因为正常的系列不会如此容易地溢出。有人可以就此提供指导,或者这是HighStock中的一个错误?
已解决:我已禁用dataGrouping,如http://jsfiddle.net/Tnmdk/4/
所示