Plotly 热图中颜色条的标题

Posted

技术标签:

【中文标题】Plotly 热图中颜色条的标题【英文标题】:Title for colorbar in Plotly Heatmap 【发布时间】:2020-03-22 08:53:56 【问题描述】:

这是我的代码:

fig = go.Figure(
    data=go.Heatmap(z=z_values, y=[str(x) for x in params_1], x=[str(x) for x in params_2]), 
    layout=go.Layout(
        title="Analysis results",
        xaxis=dict(title='Diameter'),
        yaxis=dict(title='Max Distance')
    ),
)
fig.show()

它会生成一个 2D 热图(下面的 sn-p),但我想为颜色条添加一个标题:

不幸的是,情节 example 也没有彩条标题。 我试图将颜色栏属性包含在“标记”中,但这会引发错误。 我该怎么做呢?

【问题讨论】:

【参考方案1】:

试试

fig = go.Figure(
    data=go.Heatmap(z=z_values, y=[str(x) for x in params_1], x=[str(x) for x in params_2]), 
colorbar=dict(title='Title') , 
    layout=go.Layout(
        title="Analysis results",
        xaxis=dict(title='Diameter'),
        yaxis=dict(title='Max Distance')
    ),
)
fig.show()

【讨论】:

我得到这个:文件“”,第 19 行 colorbar=dict(title=‘Title’) ^ SyntaxError: invalid character in identifier 然后将“标题”更改为“测试”(不同的连字符)但得到:ValueError: Invalid property specified for object of type plotly.graph_objs.Layout: 'colorbar' 更新了答案【参考方案2】:

只需将colorbar="title": 'Your title' 包含在go.Heatmap() 中即可:

剧情:

代码:

import plotly.graph_objects as go

fig = go.Figure(data=go.Heatmap(colorbar="title": "Your title",
                                            z=[[1, 20, 30],
                                              [20, 1, 60],
                                              [30, 60, 1]]))
 fig.show()

【讨论】:

【参考方案3】:

你也可以通过更新布局来做到这一点:

fig.update_layout(
    coloraxis_colorbar=dict(
        title="Your Title",
    ),
)

【讨论】:

【参考方案4】:
fig = ...
fig.layout.coloraxis.colorbar.title = 'Title<br>Here'

【讨论】:

这是通用的,也适用于 px.imshow。您也可以在此处使用标准 plotly 参数更多地编辑标题:'text':'Title', 'font':'size':30

以上是关于Plotly 热图中颜色条的标题的主要内容,如果未能解决你的问题,请参考以下文章

Force Plotly相关热图颜色等级为零 - R处的白色

Plotly:热图颜色图例我的子图

如何反转seaborn热图颜色条的颜色

在 seaborn 热图上设置颜色条的最大值

如何在 GUI pyqt 中更新热图的颜色条?

Plotly 中的对数热图