plotly.js 2D直方图和等高线图自动生成z轴范围,该范围适应绘制的数据集中的整个z值范围。这可以开始,但是当我在绘图上单击并拖动以放大时,我希望z轴范围也可以放大以仅适应当前显示的z值范围;相反,z轴永远不会改变。这是一个编写代码(从剧情的例子中分离出来,谢谢你的情节)来玩:http://codepen.io/anon/pen/MKGyJP
(codepen code inline:
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);
)
这似乎是非常传统的行为 - 我在某个地方的文档中错过了一个选项吗?
如果没有内置选项来执行此操作,可接受的替代解决方案是在缩放回调中手动设置新的z限制,这很容易按照此示例实现:http://codepen.io/plotly/pen/dogexw - 在这种情况下我的问题是,是否有一种方便的方法来显示当前最小和最大z?
提前致谢,
答案 0 :(得分:0)
plotly.js目前没有特定于缩放的回调(按此issue进行更新)。
另一种方法是添加模式栏按钮以更新色阶范围:
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});
}
}]
});