如何在堆叠条形图中垂直显示总计数值?
可行解决方案
Excel 操作步骤
- 新增总计列:在数据源里加一列,用
SUM()函数算出每个类别对应的所有堆叠项的总和 - 添加隐形总计系列:把总计列作为新数据系列导入图表,设置条形为无填充、无轮廓(只留标签,看不到条形)
- 设置总计标签:选中这个新系列,打开数据标签,位置选「数据标签外」(顶部),勾选「值」,再把文本方向改成垂直
- 关闭其他标签:逐个选中原来的堆叠数据系列,关掉它们的数据标签
Python Matplotlib 实现代码示例
import matplotlib.pyplot as plt import numpy as np # 模拟数据 categories = ['A', 'B', 'C'] stack1 = [3, 5, 2] stack2 = [2, 3, 4] stack3 = [1, 2, 3] # 绘制堆叠条形图 bars1 = plt.bar(categories, stack1) bars2 = plt.bar(categories, stack2, bottom=stack1) bars3 = plt.bar(categories, stack3, bottom=np.add(stack1, stack2)) # 计算总计值 totals = [sum(x) for x in zip(stack1, stack2, stack3)] # 在顶部添加垂直总计标签 for i, total in enumerate(totals): plt.text(i, total, str(total), ha='center', va='bottom', rotation='vertical') # 关闭原有堆叠部分的标签(如果之前开启过) # bars1.set_label(None) # bars2.set_label(None) # bars3.set_label(None) plt.show()
Tableau 设置方法
- 创建总计计算字段:新建计算字段,输入
SUM([你的度量字段]),命名为「总计」 - 添加总计标签:把「总计」拖到标记卡的「文本」,再拖到图表的标签区域(确保在堆叠系列最上层)
- 设置垂直方向:在标签格式面板里,把文本方向改成垂直
- 移除堆叠项标签:取消原有度量字段的标签显示
内容的提问来源于stack exchange,提问作者Aleks
相关产品推荐
相关产品推荐

