当我缩放图表时,Y刻度会自动变化,以选择适合x限制值的范围。
我知道valueRange param我可以修复范围,但我正在寻找一个选项来定义一些最大范围。
因此缩放时Y刻度会发生变化,但刻度受某些参数的限制
答案 0 :(得分:0)
为了清楚和简洁起见,我省略了一些事情 - 比如创作过程。
你可以做类似的事情来限制最小范围。
g = new Dygraph(
... your parameters ...
);
window.intervalId = setInterval(
function(){
var extents = g.yAxisRange();
var lowerExtent = extents[0];
var upperExtent = extents[1];
if(upperExtent > MY_MAX_DESIRED){
var range = [lowerExtent, MY_MAX_DESIRED];
g.updateOptions('valueRange': range);
}
},
500
);
使用上面的解决方案,当它设置的范围变大时,你会注意到半秒的“毛刺”。作为替代方案,您还可以使用在创建图形对象时指定的zoomCallBack:
g = new Dygraph(
document.getElementById("div_g"),
[[0,0]],
{
zoomCallBack: function(minDate, maxDate, yRanges){
var extents = yRanges;
var lowerExtent = extents[0];
var upperExtent = extents[1];
if(upperExtent > MY_MAX_DESIRED){
var range = [lowerExtent, MY_MAX_DESIRED];
g.updateOptions('valueRange': range);
}
}
}
);
有一点需要注意,我没有测试过上述解决方案。我只相信他们应该工作。祝你好运!
答案 1 :(得分:0)
"http://jsfiddle.net/stojak/zL6es924/4/"
我的目标:例如,当数据中的y值介于10和11之间时,我想将Y放大到0(10-10)到21(11 + 10) 代码几乎正常工作,但我不知道怎么说让我重置我的valueRange。 结果是在每次缩放动作之后,范围增加。