【问题标题】:Plotly: How to rename legend elements of a plotly express stacked bar plot?Plotly:如何重命名 plotly express 堆积条形图的图例元素?
【发布时间】: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()

这给出了如下图。

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

【问题讨论】:

    标签: python plotly bar-chart legend plotly-express


    【解决方案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()
      
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-18
        • 2021-03-09
        • 2017-09-25
        • 2018-11-14
        相关资源
        最近更新 更多