使用Python绘制堆积柱形图

使用Python绘制堆积柱形图

堆积柱形图

堆积柱形图(Stacked Bar Chart)是一种数据可视化图表,用于显示不同类别的数值在某一变量上的累积情况。每一个柱状条显示多个子类别的数值,子类别的数值在柱状条上堆积在一起,以显示总和及各个部分的贡献情况。

效果

代码

python 复制代码
import matplotlib.pyplot as plt
import numpy as np

# 创建示例数据
categories = ['Category 1', 'Category 2', 'Category 3', 'Category 4']
subcategories = ['Subcategory A', 'Subcategory B', 'Subcategory C']
data = np.array([
    [5, 3, 4, 7],
    [2, 4, 6, 8],
    [3, 7, 8, 2]
])

# 定义柱状条的位置
x = np.arange(len(categories))

# 绘制堆积柱形图
fig, ax = plt.subplots()

# 底部初始值
bottom = np.zeros(len(categories))

# 为每个子类别绘制条形
for i in range(len(subcategories)):
    ax.bar(x, data[i], bottom=bottom, label=subcategories[i])
    bottom += data[i]

# 设置图表标题和标签
plt.title('Stacked Bar Chart')
plt.xlabel('Categories')
plt.ylabel('Values')

# 设置x轴刻度
plt.xticks(x, categories)

# 添加图例
plt.legend(subcategories)

# 显示图表
plt.tight_layout()
plt.show()
相关推荐
青 春 记 忆2 分钟前
零基础入门python21:Flask账本的数据模型——用户、分类和账目
python·flask·后端开发
骇客野人3 分钟前
Java分布式任务调度方案(完整落地指南)
java·开发语言·分布式
hy.z_7778 分钟前
【软件测试】8. 自动化测试实践
python
JacksonMx9 分钟前
Spring @Async 坑点 + 改造方案
java·开发语言
你怎么知道我是队长20 分钟前
IPv6 地址完全解析:从结构到实战
开发语言·php
楠楠子呀29 分钟前
从零构建高性能 WhatsApp 链接生成器与重定向服务:架构与路由解析
redis·python·容器·架构·flink·散列表·flume
Dovis(誓平步青云)35 分钟前
牛奶不能减成负数:冰箱库存的筛选、去重与不可变更新
android·java·开发语言
OPEN-F36 分钟前
Python进阶教程:算法与数据结构入门
开发语言·python
薛定猫AI1 小时前
【技术干货】Claude Code多模型代理与反馈闭环:Python实现可验证的AI编程工作流
开发语言·python·ai编程