我想为 2 个热图子图设置相同的 Z 轴。 目前,plotly 生成 2 个独立尺度并将它们叠加。
这是我目前所在的位置,但无法合并两个尺度...
import plotly.offline as py
import plotly.graph_objs as go
from plotly import tools
fig = tools.make_subplots(rows=1, cols=2, shared_yaxes=True)
# shared_zaxes=True does not exists
data = [
{'x' : [1, 2, 3],
'y' : [1, 2, 3],
'z' : [[2,5,6],[8,7,3],[1,7,3]]
},
{'x' : [1, 2, 3],
'y' : [1, 2, 3],
'z' : [[1,2,3],[2,3,1],[1,2,3]]
}
]
maxValue = 0
for i in [0,1]:
print(i)
trace = go.Heatmap(z=data[i]['z'],
x=data[i]['x'],
y=data[i]['y'],
colorscale='Jet')
fig.append_trace(dict(trace, showscale=True), 1, i+1)
maxValue = max(max(data[i]['z'])) if max(max(data[i]['z'])) > maxValue else maxValue
fig['layout'].update(title='Same Zaxis')
fig['layout']['scene']['zaxis'].update(range=[0,maxValue])
py.plot(fig , filename='sameZaxis-heatmap')
最佳答案
我最终在循环之前简单地计算了标度的最大值,然后将其应用于两个图。然后,两个刻度叠加在一起,但您不会注意到它。
#Define the max value of you scale before looping:
maxValue = ...
for i in [0,1]:
trace = go.Heatmap(...
zmin=0,
zmax=maxValue))
关于python - 如何在 2 个 plotly Heatmap 子图上共享相同的 Z 轴,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48827447/