示例:http://jsfiddle.net/za2576po/8/
我正在研究一个时间序列数据图表,该数据图表允许用户根据需要添加或删除图表中的序列。
为了允许用户跟踪每个系列的趋势,我将showInNavigator
设置为true
。
chart.addSeries({
...
showInNavigator: 'true'
});
该图表是动态的,每隔几秒钟就会从我们的源中获取一次新数据。我使用addPoint()
向每个系列添加数据。在将所有要点添加到每个系列中之后,我便重新绘制。
currentSeries.addPoint(datum, false, false, false);
...
chart.redraw();
如果使用remove()
从图表中动态删除系列,然后添加新点,则图表将在“重新绘制”时引发异常:
未捕获的TypeError:无法读取未定义的属性'0'
示例:http://jsfiddle.net/za2576po/8/
通过按顺序从左到右单击图表下方的每个按钮,可以使用提供的示例重现此错误:
如果您跳过从图形中删除一个或多个序列,则可以无限制地添加任意多个点。
我需要怎么做才能避免出现异常?我看到图表中可以有多个导航器系列(单击示例中的按钮时,请参阅控制台输出。)