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 express 中,如何重命名轴和图例的名称? y 轴仅显示为值,图例上的标题是可变的