Интерактивное масштабирование оси 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)]
});
и все работает.
Я надеюсь, что это помогает кому-то.