Javascript 动态图-缩放时限制y轴范围的变化
当我缩放图表时,Y比例会自动改变,以选择适合x限制值的范围 我知道valueRange param,可以在其中修复范围,但我正在搜索一个选项来定义某个最大范围Javascript 动态图-缩放时限制y轴范围的变化,javascript,dygraphs,Javascript,Dygraphs,当我缩放图表时,Y比例会自动改变,以选择适合x限制值的范围 我知道valueRange param,可以在其中修复范围,但我正在搜索一个选项来定义某个最大范围 因此,Y比例在缩放时会发生变化,但比例会受到某些参数的限制为了清晰和简洁,我省略了一些内容,例如创建过程 您可以执行类似的操作来限制最小范围 g = new Dygraph( ... your parameters ... ); window.intervalId = setInterval( function(){
因此,Y比例在缩放时会发生变化,但比例会受到某些参数的限制为了清晰和简洁,我省略了一些内容,例如创建过程 您可以执行类似的操作来限制最小范围
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);
}
}
}
);
需要注意的是,我还没有测试上述解决方案。我只是认为它们应该起作用。祝你好运 谢谢!
我试着采纳你的建议
我有一些问题:
"http://jsfiddle.net/stojak/zL6es924/4/"
我的目标:例如,当数据中的y值介于10和11之间时,我希望将y放大到0(10-10)到21(11+10)
代码几乎可以工作了,但是我不知道如何重置我的valueRange。
结果是,每次缩放操作后,范围都会增加。我建议使用
zoomCallback
方法。更新操作必须首先在内部使用大括号,否则会出现错误。g、 updateOptions({'valueRange':range});这不是答案,这是另一个问题!您的问题是,您将YRange作为参数,然后每次在每个方向上将其扩展10。试试这个:谢谢你的反馈。您的修改并没有解决我的问题,因为使用双击(取消缩放)y轴不会再次更改为全范围-而是保持0到10我的目标-将放大范围限制为某个范围,但在取消缩放时,然后返回到valueRange的自动计算