【发布时间】:2021-01-26 10:27:32
【问题描述】:
我希望我的等高线图网格引用相同的颜色条,但我得到了四个堆叠在一起的颜色条。我怎样才能只有一个颜色条,其数值引用所有图中的数据?或者,换句话说,我的绘图颜色如何引用相同的颜色条?
这里是测试代码:
import plotly.graph_objects as go
from plotly.subplots import make_subplots
z1 = [[2, 4, 7, 12, 13, 14, 15, 16],
[3, 1, 6, 11, 12, 13, 16, 17],
[4, 2, 7, 7, 11, 14, 17, 18],
[5, 3, 8, 8, 13, 15, 18, 19],
[7, 4, 10, 9, 16, 18, 20, 19],
[9, 10, 5, 27, 23, 21, 21, 21],
[11, 14, 17, 26, 25, 24, 23, 22]]
z2 = [[20, 44, 7, 120, 1, 1, 5, 16],
[3, 10, 6, 110, 12, 135, 162, 17],
[4, 2, 77, 77, 11, 14, 172, 18],
[54, 34, 8, 8, 13, 1, 1, 19],
[7, 4, 10, 96, 16, 18, 20, 19],
[9, 10, 55, 27, 2, 21, 2, 2],
[11, 1, 17, 26, 2, 24, 23, 22]]
z3 = [[205, 44, 7, 120, 1, 1, 5, 16],
[3, 10, 6, 110, 12, 135, 162, 17],
[4, 2, 77, 77, 11, 144, 172, 18],
[54, 34, 8, 8, 13, 1, 1, 19],
[7, 42, 10, 96, 16, 18, 20, 19],
[9, 10, 55, 27, 2, 25, 2, 2],
[11, 13, 17, 26, 2, 24, 23, 22]]
z4 = [[203, 44, 7, 120, 1, 1, 5, 16],
[3, 10, 6, 110, 126, 135, 162, 17],
[4, 2, 77, 7, 11, 144, 172, 18],
[54, 34, 8, 8, 13, 1, 1, 19],
[7, 42, 10, 96, 16, 18, 20, 19],
[9, 10, 55, 27, 2, 253, 2, 2],
[11, 1, 17, 26, 2, 24, 23, 22]]
figc1=make_subplots(rows=2, cols=2, shared_xaxes=True, shared_yaxes=True, vertical_spacing=0.05, horizontal_spacing=0.05)
figc1.add_trace(go.Contour(z=z1, coloraxis='coloraxis'), row=1, col=1)
figc1.add_trace(go.Contour(z=z2, coloraxis='coloraxis'), row=1, col=2)
figc1.add_trace(go.Contour(z=z3, coloraxis='coloraxis'), row=2, col=1)
figc1.add_trace(go.Contour(z=z4, coloraxis='coloraxis'), row=2, col=2)
figc1.update_layout(coloraxis=dict(colorscale='Viridis'), showlegend=False)
figc1.show()
如果您运行此代码,您将看到颜色条显示其最大值为 z1 的最大值,它应该显示 z1、z2、z3 和 z4 的最大值。
【问题讨论】:
-
请提供带有sample of your data的完整代码sn-p
-
感谢您改进我的问题!
-
这里有与您和answers 相同的问题。
go.Contour(z=z1, colorbar=dict(len=0.5, x=0.45, y=0.75) -
我在问我之前看到了这个问题,它不一样。我不想要一个以上的颜色条,我只想让所有子图都引用那个颜色条。
-
这就是你的问题的意图。那么为什么不删除这个,
coloraxis='coloraxis'四个颜色条刻度重叠的地方..
标签: python plotly contour colorbar