You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Plotly如何在堆叠柱状图上同时显示分段值与柱顶总和

Plotly Express堆叠柱状图双标注实现

你现有代码通过text_auto=True已经实现了柱段单独数值的显示,要额外在每根堆叠柱顶部展示整柱总和,只需先按x轴维度分组计算总数值,再为每个柱添加独立的顶部注释即可,完整可运行代码如下:

import plotly.express as px

# 加载示例数据、绘制基础堆叠柱状图
df = px.data.medals_long()
fig = px.bar(df, x="medal", y="count", color="nation", text_auto=True)

# 按x轴分类(奖牌类型)计算每个堆叠柱的总数值
total_by_medal = df.groupby("medal", as_index=False)["count"].sum()

# 为每个堆叠柱添加顶部总和标注
for _, item in total_by_medal.iterrows():
    fig.add_annotation(
        x=item["medal"],
        y=item["count"],
        text=item["count"],
        showarrow=False,
        yshift=8, # 标注向上偏移,避免和柱顶/分段标注重叠
        font=dict(size=13, weight="bold") # 可自定义总和标注的字体样式
    )

fig.show()

关键配置说明

  • 原有text_auto=True配置无需修改,会保留每个柱段的独立数值标注
  • 分组计算总和时,分组字段需和绘图时传入的x参数一致,求和字段需和y参数一致,可适配不同数据集场景
  • yshift参数控制总和标注与柱顶的垂直间距,可根据实际显示效果调整数值
  • 可通过font参数单独配置总和标注的字号、颜色、字重,和分段标注做视觉区分

内容的提问来源于stack exchange,提问作者sumanta das

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 07:24:37