使用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()
相关推荐
Juchecar4 分钟前
设计模式不是Java专属,其他语言的使用方法
java·python·设计模式
马克学长11 分钟前
SSM基于Java的医疗器械销售系统oy281(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
java·开发语言·用户管理·ssm 框架·医疗器械销售系统
scala舔狗汪21 分钟前
双层跳动爱心❤️❤️💕💕
python
lqj_本人29 分钟前
Rust与Go:现代系统编程语言的深度对比
开发语言·golang·rust
Rolei_zl29 分钟前
AIGC(生成式AI)试用 40 -- 程序(Python + OCR)-2
python·aigc
可触的未来,发芽的智生34 分钟前
触摸未来2025-11-09:万有力,图论革命
javascript·人工智能·python·程序人生·自然语言处理
星释1 小时前
Rust 练习册 :Macros与宏系统
开发语言·后端·rust
l1t1 小时前
利用短整数类型和部分字符串优化DuckDB利用数组求解数独SQL
开发语言·数据库·sql·duckdb
权泽谦1 小时前
从零搭建一个 PHP 登录注册系统(含完整源码)
android·开发语言·php
PieroPc1 小时前
用python Streamlit 做个RapidOCR 文本识别系统
开发语言·python·ocr