我想以某种方式限制缩放,使得缩放深度不可能超过某个值。例如。我的数据日期从天/月到 15 分钟,因此我想要显示的最小值(因此使用户能够仅缩放到这一点)就像显示这 15 分钟间隔的 4-5 个值。
我在另一个线程中找到了股票行情的可能性,但这没有帮助,因为它不限制缩放的能力。是否有内置方法可以帮助我或使用其他方法来限制缩放系数?
最佳答案
zoomCallback: function (minDate, maxDate, yRange) {
// Calculate the difference between the values
var difference = maxDate - minDate;
// If difference smaller than 3 hours
if ((difference / 1000 / 60 / 60) < 3) {
maxDate = new Date(minDate).setMinutes(180);
g.updateOptions({
dateWindow: [minDate, maxDate]
});
}
},
这就是我的想法,到目前为止它实际上工作正常。我将不得不稍微调整这些值,但它在大多数情况下都像我想要的那样工作。该解决方案只有一个问题: 当我放大时,它会自动更改值,您可以在很短的时间内看到旧值被渲染,然后更改为新值。这对用户体验来说感觉不太好,但也不是什么坏事。 是否还有其他事件提前触发?
关于zooming - 如何限制变焦?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18714879/