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

如何使用Plotly Express在堆叠柱状图顶部添加每列总和标注

实现方法

你已经完成了分组求和的计算,直接调用Plotly的add_annotation方法批量添加标注即可,完整调整后的代码如下:

import plotly.express as px
import pandas as pd

# 原有创建堆叠柱状图的代码
fig = px.bar(data, x="Ano", y="Área (km²)", barmode='stack', color='Classe')
# 建议明确指定对面积列求和,避免多列数据干扰计算结果
gp = data.groupby(['Ano'])['Área (km²)'].sum().reset_index()

# 遍历每个年份和对应总和,添加柱顶标注
for ano, total in zip(gp['Ano'], gp['Área (km²)']):
    fig.add_annotation(
        x=ano,
        y=total,
        text=f"{total:.1f} km²", # 可自行调整数值格式、单位
        showarrow=False,
        yshift=10, # 向上偏移避免和柱子顶部重叠,可按需调整数值
        font=dict(size=12, color="#333")
    )

补充说明

  • 标注会随图表一起被plotly.js正常渲染,无需额外修改Flask端的传参逻辑,按你原有方式把fig转成对应格式传到前端即可
  • 如果你的堆叠柱存在负值,需要额外判断y轴偏移方向,全为正数的场景下上述代码可直接运行
  • 可通过调整yshift、font参数修改标注的位置和样式

内容的提问来源于stack exchange,提问作者Mauro Assis

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 17:54:01