Javascript 在缩放时重新绘制js z轴

Javascript 在缩放时重新绘制js z轴,javascript,visualization,plotly,Javascript,Visualization,Plotly,plotly.js二维直方图和等高线图会自动生成z轴范围,该范围容纳正在绘制的数据集中z值的整个范围。这很好,但当我单击并拖动绘图以放大时,我希望z轴范围也放大,以仅容纳当前显示的z值范围;相反,z轴从不改变。这里有一个代码笔(来源于plotly示例,谢谢plotly)可以使用: (代码笔代码内联: var x = []; var y = []; for (var i = 0; i < 500; i ++) { x[i] = Math.random(); y[i] = Ma

plotly.js二维直方图和等高线图会自动生成z轴范围,该范围容纳正在绘制的数据集中z值的整个范围。这很好,但当我单击并拖动绘图以放大时,我希望z轴范围也放大,以仅容纳当前显示的z值范围;相反,z轴从不改变。这里有一个代码笔(来源于plotly示例,谢谢plotly)可以使用:

(代码笔代码内联:

var x = [];
var y = [];
for (var i = 0; i < 500; i ++) {
    x[i] = Math.random();
    y[i] = Math.random() + 1;
}

var data = [
  {
    x: x,
    y: y,
    type: 'histogram2d'
  }
];
Plotly.newPlot('myDiv', data);
var x=[];
变量y=[];
对于(变量i=0;i<500;i++){
x[i]=Math.random();
y[i]=Math.random()+1;
}
风险值数据=[
{
x:x,
y:y,
类型:“histogram2d”
}
];
Plotly.newPlot('myDiv',数据);
)

这似乎是非常传统的行为——我是否在文档中遗漏了这样做的选项

如果没有内置选项来执行此操作,可接受的替代解决方案是在缩放回调中手动设置新的z限制,根据本例,这很容易实现:-在这种情况下,我的问题是,是否有一种方便的方法来获取当前显示的最小和最大z


提前感谢,

plotly.js目前没有特定于缩放的回调(请按照此进行更新)

另一种方法是添加一个模式栏按钮来更新色标范围:

Plotly.newPlot('myDiv', data, {}, {
  modeBarButtonsToAdd: [{
    name: 'click here to update the colorscale range',
    click: function(graphData) {            
        var xRange = graphData.layout.xaxis.range,
            yRange = graphData.layout.yaxis.range;

        var zMin, zMax;

        // code that would compute the colorscale range
        // given xRange and yRange
        // for example given these values:
        zMin = 10;
        zMax = 20;

        Plotly.restyle('myDiv', {zmin: zMin, zmax: zMax});
    }   
  }]
});
完整示例: