Plotly:如何重命名 plotly express 堆积条形图的图例元素?

Posted

技术标签:

【中文标题】Plotly:如何重命名 plotly express 堆积条形图的图例元素?【英文标题】:Plotly: How to rename legend elements of a plotly express stacked bar plot? 【发布时间】:2021-10-27 18:46:48 【问题描述】:

我使用 plotly 网站中给出的这个示例代码。

import plotly.express as px
long_df = px.data.medals_long()
fig = px.bar(long_df, x="nation", y="count", color="medal", title="Long-Form Input")
fig.show()

这给出了如下图。

如何重命名图例以将金、银和铜替换为第一、第二和第三?

【问题讨论】:

【参考方案1】:

我经常使用这种方法

fig.for_each_trace(lambda t: t.update(name = newnames[t.name]))

其中名称是dict

newnames = 'gold':'1', 'silver': '2', 'bronze':'3'

剧情:

完整代码:

import plotly.express as px
long_df = px.data.medals_long()
fig = px.bar(long_df, x="nation", y="count", color="medal", title="Long-Form Input")

newnames = 'gold':'1', 'silver': '2', 'bronze':'3'
fig.for_each_trace(lambda t: t.update(name = newnames[t.name]))

fig.show()

【讨论】:

【参考方案2】:

将数据映射到您想要的值

import plotly.express as px
long_df = px.data.medals_long()
fig = px.bar(long_df, x="nation", y="count", 
             color=long_df["medal"].map("gold":"first","silver":"second","bronze":"third"), 
             title="Long-Form Input")
fig.show()

【讨论】:

以上是关于Plotly:如何重命名 plotly express 堆积条形图的图例元素?的主要内容,如果未能解决你的问题,请参考以下文章

重命名和删除 Plotly Hover 信息

在 plotly express 中,如何重命名轴和图例的名称? y 轴仅显示为值,图例上的标题是可变的

如何命名 Dash/Plotly 中的下拉菜单

可视化神器Plotly玩转箱形图

如何在 R 中覆盖和编辑 plotly() 3D 对象的悬停模板

在 python 中绘制 3D 绘图