Plotly:如何在堆叠条形图顶部显示值的总和以及各个条形值?

sum*_*das 7 python plotly

我正在尝试在 Python 中的 Plotly Express 中添加每个堆叠条形顶部的总计以及各个条形值。

import plotly.express as px
df = px.data.medals_long()
fig = px.bar(df, x="medal", y="count", color="nation", text_auto=True)
fig.show()
Run Code Online (Sandbox Code Playgroud)

这给出了以下结果 在此输入图像描述

不过我想要如下图表:

在此输入图像描述

r-b*_*ers 20

虽然可以注释为字符串,但最简单的方法是在散点图的文本模式下添加图形。

import plotly.express as px
import plotly.graph_objects as go

df = px.data.medals_long()
dfs = df.groupby('medal').sum()
fig = px.bar(df, x="medal", y="count", color="nation", text_auto=True)

fig.add_trace(go.Scatter(
    x=dfs.index, 
    y=dfs['count'],
    text=dfs['count'],
    mode='text',
    textposition='top center',
    textfont=dict(
        size=18,
    ),
    showlegend=False
))

fig.update_yaxes(range=[0,50])
fig.show()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述