Это может быть немного неясно, но я разрабатываю приложение для просмотра, которое разбивает большой набор данных на части, а затем позволяет просматривать его с помощью dygraphs, где новые части данных загружаются с обеих сторон по мере того, как вы перемещаетесь по ним.
Проблема в том, что когда вы обновляете график во время его панорамирования, кажется, что он теряет свой диапазон по оси Y. Вы можете увидеть это в демо-версии динамического обновления на официальном сайте:
http://dygraphs.com/tests/dynamic-update.html
Если вы перетащите Shift для панорамирования, вы увидите, что график (и ось Y) исчезнет по мере добавления новых данных. Чтобы доказать ошибку, запустите это в консоли Chrome, и вы увидите вывод [ NaN, NaN ], когда график исчезнет:
window.setInterval(function() { console.log(window.g.yAxisRange()); }, 200);
Были бы различные обходные пути, связанные с таймерами, но в конечном итоге это похоже на ошибку в самой библиотеке dygraphs. Есть ли простой способ установить исправление? В качестве альтернативы, если есть способ узнать, когда выполняется панорамирование, я мог бы просто не изменять набор данных, пока не буду знать, что пользователь не находится в середине панорамирования, но для этого нет официального обратного вызова или флага, и это похоже, что внутренний флаг isPanning был тщательно спрятан в объекте контекста локальной области видимости, где он в безопасности от посторонних глаз.
Какой самый быстрый способ исправить или исправить эту проблему?