gpt4 book ai didi

javascript - Kendo Stockchart 禁用放大到小时级别

转载 作者:行者123 更新时间:2023-11-29 21:25:13 24 4
gpt4 key购买 nike

我正在使用 Kendo StockChark,我有一个如下所示的数据源:

...
{
"price": 0.010754,
"date": 1461186000000
},
{
"price": 0.010758,
"date": 1461272400000
},
{
"price": 0.010759,
"date": 1461358800000
}
...

这是一个每日数据源,对于每一天,它都有一个相应的价格值。

问题是,Kendo StockChart 允许使用鼠标滚轮缩放到小时和分钟,即使没有数据。当我达到图表上的每日水平时,我应该阻止缩放。

按小时和分钟放大时,该图如下所示:

enter image description here

如您所见,几天之间没有数据,它们在图表上保持为空。我应该防止放大到每小时数据,即最大可缩放量应该是几天:

enter image description here

我试过重写 StockChart 的 onZoom 方法,如下所示:

vm.chartOptions.zoom = function(e) {
if(e && e.sender && e.sender._plotArea && e.sender._plotArea.axisX ){
var diff = e.sender._plotArea.axisX.options.max.getTime() - e.sender._plotArea.axisX.options.min.getTime() ;
if(diff < 24*60*60*1000*7){
e.preventDefault();
return false;
}
}
};

在这种方法中,我检查了最小日期和最大日期之间的差异,如果小于一周,我将阻止缩放。当我用鼠标滚轮缓慢缩放时,此方法有效。但是当我快速放大时,它仍然放大到小时和分钟。

有没有办法解决这个问题?谢谢。

最佳答案

我遇到了同样的问题。对我有用的是定义 categoryAxisbaseUnit作为fit autoBaseUnitSteps 中没有为小时/分钟/秒定义任何内容.见下文:

categoryAxis: {
baseUnit: "fit",
majorGridLines: {
visible: false
},
autoBaseUnitSteps: {
hours: [],
minutes: [],
seconds: []
}
}

关于javascript - Kendo Stockchart 禁用放大到小时级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37612798/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com