Образец: http://jsfiddle.net/za2576po/8/
Я работаю над диаграммой данных временных рядов, которая позволяет пользователям добавлять или удалять серии из диаграммы по своему усмотрению.
Чтобы пользователи могли сохранятьДля отслеживания тренда в каждой серии я установил showInNavigator
на true
.
chart.addSeries({
...
showInNavigator: 'true'
});
График является динамическим, и новые данные поступают из нашего источника каждые несколько секунд.Я использую addPoint()
для добавления данных в каждую серию.Затем я перерисовываю все точки, добавленные в каждую серию.
currentSeries.addPoint(datum, false, false, false);
...
chart.redraw();
Если серия удаляется с диаграммы динамически с помощью remove()
, а затем добавляются новые точки, диаграмма выдает исключение на 'redraw ':
Uncaught TypeError: Невозможно прочитать свойство' 0 'из неопределенного
Образец: http://jsfiddle.net/za2576po/8/
Приведенный образец можно использовать длявоспроизведите эту ошибку, нажав каждую кнопку под графиком по порядку слева направо:
- Добавить еще одну серию
- Удалить первую серию
- Добавить точкук каждой серии
Если вы пропустите удаление одной или нескольких серий из графика, вы можете добавить столько точек, сколько хотите, без исключения.
Что мне нужно сделать, чтобыизбежать исключения?Я вижу, что на графике могут быть кратны серии навигатора (см. Вывод консоли при нажатии кнопок в образце.)
Пример: http://jsfiddle.net/za2576po/8/