使用Python绘制百分比堆积柱形图

使用Python绘制百分比堆积柱形图

  • 百分比堆积柱形图
  • 效果
  • 代码

百分比堆积柱形图

百分比堆积柱形图(Percentage Stacked Bar Chart)是堆积柱形图的一种变体,用于展示各个部分占总体的百分比。每一个柱状条的总高度代表100%,各个部分根据其在总量中的比例来显示。这样可以方便地比较不同类别中各部分的相对贡献。

效果

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-H1Gtg3HI-1720838656298)(https://i-blog.csdnimg.cn/direct/1c70f21274f944ccb10fa42f7c216d58.png)]

代码

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]
])

# 计算每个类别的总数
totals = data.sum(axis=0)

# 计算每个部分的百分比
percentages = data / totals * 100

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

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

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

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

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

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

# 添加图例
plt.legend(subcategories)

# 显示图表
plt.tight_layout()
plt.show()
相关推荐
xuanfengwuxiang2 分钟前
安卓帧率获取
android·python·测试工具·adb·性能优化·pycharm
玉红77730 分钟前
R语言的数据类型
开发语言·后端·golang
夜斗(dou)33 分钟前
node.js文件压缩包解析,反馈解析进度,解析后的文件字节正常
开发语言·javascript·node.js
觅远35 分钟前
python+PyMuPDF库:(一)创建pdf文件及内容读取和写入
开发语言·python·pdf
神雕杨1 小时前
node js 过滤空白行
开发语言·前端·javascript
MinIO官方账号1 小时前
使用亚马逊针对 PyTorch 和 MinIO 的 S3 连接器实现可迭代式数据集
人工智能·pytorch·python
四口鲸鱼爱吃盐1 小时前
Pytorch | 利用IE-FGSM针对CIFAR10上的ResNet分类器进行对抗攻击
人工智能·pytorch·python·深度学习·计算机视觉
四口鲸鱼爱吃盐1 小时前
Pytorch | 利用EMI-FGSM针对CIFAR10上的ResNet分类器进行对抗攻击
人工智能·pytorch·python
lvbu_2024war012 小时前
MATLAB语言的网络编程
开发语言·后端·golang
single5942 小时前
【c++笔试强训】(第四十五篇)
java·开发语言·数据结构·c++·算法