Javascript 动态图-缩放时限制y轴范围的变化

Javascript 动态图-缩放时限制y轴范围的变化,javascript,dygraphs,Javascript,Dygraphs,当我缩放图表时,Y比例会自动改变,以选择适合x限制值的范围 我知道valueRange param,可以在其中修复范围,但我正在搜索一个选项来定义某个最大范围 因此,Y比例在缩放时会发生变化,但比例会受到某些参数的限制为了清晰和简洁,我省略了一些内容,例如创建过程 您可以执行类似的操作来限制最小范围 g = new Dygraph( ... your parameters ... ); window.intervalId = setInterval( function(){

当我缩放图表时,Y比例会自动改变,以选择适合x限制值的范围

我知道valueRange param,可以在其中修复范围,但我正在搜索一个选项来定义某个最大范围


因此,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的自动计算