我正在使用 dygraphs 来绘制每隔一分钟拍摄的热室的温度和湿度值。如果需要,我允许用户以编程方式指定 Y 轴极值。
如果温度范围是 -40 到 +100 度,用户可以选择 -50 到 -30 度的范围来突出显示该区域。如果用户尝试以交互方式进一步放大,y 轴会跳到 -400 度范围内。
我怀疑正在执行的数学运算没有使用显示的 y 轴极值。对于查看极端正范围内的点也是如此。
我正在使用 dygraphs 来绘制每隔一分钟拍摄的热室的温度和湿度值。如果需要,我允许用户以编程方式指定 Y 轴极值。
如果温度范围是 -40 到 +100 度,用户可以选择 -50 到 -30 度的范围来突出显示该区域。如果用户尝试以交互方式进一步放大,y 轴会跳到 -400 度范围内。
我怀疑正在执行的数学运算没有使用显示的 y 轴极值。对于查看极端正范围内的点也是如此。
我使用数字类型的输入框作为轴的最小和最大数据。使用如下所示的值:
g.updateOptions({
isZoomedIgnoreProgrammaticZoom: true,
valueRange: [ymin.value, ymax.value]
});
导致问题。缩放功能似乎可以正常工作,但尝试对已缩放的图形执行交互式缩放会导致新缩放的值完全超出比例。
我添加了 parseFloat() 如下所示:
g.updateOptions({
isZoomedIgnoreProgrammaticZoom: true,
valueRange: [parseFloat(ymin.value), parseFloat(ymax.value)]
});
一切正常。
我希望这可以帮助别人。