Plotly等高线子图各自具有自己的色条

6
我正在尝试使用Plotly生成等高线图。我正在一个5x1的网格中绘制5个等高线。但我无法找到一个选项来为每个等高线子图单独设置颜色条。对于线图,我可以使用shared_xaxes或shared_yaxes选项,但是在这个5x1的网格中,我无法找到文档说明如何为每个子图设置单独的颜色条。以下是我尝试查阅的一些参考链接:https://plot.ly/python/contour-plots/https://plot.ly/python/heatmaps-contours-and-2dhistograms-tutorial/https://plot.ly/python/reference/。请注意保留HTML标记。
1个回答

21
每个子图实际上都有自己的颜色条。问题是默认情况下它们被绘制在一起,所以很难看出有几个颜色条。通过设置颜色条的leny参数,您可以将它们分开并查看它们与每个等高线的关联。这里有一个示例,基于Plotly等高线文档的松散描述:
import plotly
import plotly.graph_objs as go
plotly.offline.init_notebook_mode()

fig = plotly.tools.make_subplots(rows=3, cols=1)
cbarlocs = [.85, .5, .15]
zmax = [2, 5, 10]

for n in range(3):
    trace = go.Contour(
            z=[[10, 10.625, 12.5, 15.625, 20],
               [5.625, 6.25, 8.125, 11.25, 15.625],
               [2.5, 3.125, 5., 8.125, 12.5],
               [0.625, 1.25, 3.125, 6.25, 10.625],
               [0, 0.625, 2.5, 5.625, 10]], 
            colorbar=dict(len=0.25, y=cbarlocs[n]), 
            zmin=0, zmax=zmax[n])

    fig.append_trace(trace, n+1, 1)

plotly.offline.iplot(fig)

关键部分是colorbar=dict(len=0.25, y=cbarlocs[n])。这段代码的结果看起来像这样:

enter image description here


谢谢Dan,如果其中一个图是条形图,如何为条形图自定义颜色条位置?条形图没有颜色条参数。 - roudan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接