Интерактивное масштабирование оси Y на графике завершается неудачно, если используется программное увеличение

Я использую диаграммы для отображения значений температуры и влажности тепловых камер, взятых с интервалом в одну минуту. Я позволяю пользователю программно указывать крайности оси Y, если это необходимо.

Если диапазон температур составляет от -40 до +100 градусов, пользователь может выбрать диапазон от -50 до -30 градусов, чтобы выделить эту область. Если пользователь пытается увеличить изображение в интерактивном режиме, ось у переходит к диапазону -400 градусов.

Я подозреваю, что выполняемая математика не использует отображаемые крайние значения по оси Y. То же самое верно и для точек в экстремально положительном диапазоне.

1 ответ

Я использовал поле ввода типа номер для минимальных и максимальных данных для оси. Используя значения, как показано ниже:

g.updateOptions({ isZoomedIgnoreProgrammaticZoom: true, valueRange: [ymin.value, ymax.value] });

вызвал проблему. Функция масштабирования работала правильно, но при попытке выполнить интерактивное масштабирование на уже увеличенном графике значения нового масштабирования были полностью не в масштабе.

Я добавил parseFloat(), как показано ниже:

g.updateOptions({ isZoomedIgnoreProgrammaticZoom: true, valueRange: [parseFloat(ymin.value), parseFloat(ymax.value)] });

и все работает.

Я надеюсь, что это помогает кому-то.

Другие вопросы по тегам