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

如何在Plotly堆叠柱状图上方显示单柱总计?

实现Plotly堆叠柱状图顶部显示总计数值

你可以通过以下步骤实现每个堆叠柱状图顶部显示总计数值:

  1. 计算每个Scheme的总计:先对原数据按Scheme分组,求和得到每个堆叠柱的总数值
  2. 添加总计文本层:在原有堆叠图基础上,用散点图的文本模式把总计数值放在对应柱子顶部

完整代码示例

import pandas as pd
import plotly.express as px

# 计算每个Scheme的总计
df_totals = df_scheme.groupby('Scheme')['Total'].sum().reset_index(name='Total_Sum')

# 绘制堆叠柱状图
bar_chart_3 = px.bar(
    df_scheme,
    x='Scheme',
    y='Total',
    hover_name='Calc Type',
    text='Total',  # 保留每个分段的数值显示
    color='Scheme',
    title='Number of scheme categories'
)

# 添加总计文本到堆叠柱顶部
bar_chart_3.add_scatter(
    x=df_totals['Scheme'],
    y=df_totals['Total_Sum'],
    text=df_totals['Total_Sum'],
    mode='text',
    textposition='top center',
    showlegend=False
)

# 布局设置
bar_chart_3.update_layout(
    xaxis={'categoryorder':'total descending'},
    width=500,
    showlegend=False,
)

bar_chart_3.show()

关键说明

  • df_totals通过groupby和sum得到每个Scheme对应的总数值,确保和堆叠柱的实际高度一致
  • 使用add_scatter的文本模式添加总计,textposition='top center'保证文本精准定位在柱子顶部中心
  • 原代码中显示分段数值的text='Total'可以保留,不影响总计文本的显示

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 02:05:04