使用Python绘制堆积条形图
- 堆积条形图
- 效果
- 代码
堆积条形图
堆积条形图(Stacked Bar Chart)是一种扩展的条形图,用于显示多个子类别数据的累积效果。在堆积条形图中,每个条形被分成多个部分,每个部分代表一个子类别的数据量,从而展示出每个类别的总量以及各子类别在总量中的占比。
效果
[外链图片转存中…(img-yxzPy9Tc-1720413009591)]
代码
import matplotlib.pyplot as plt
import numpy as np
# 数据
categories = ['Category A', 'Category B', 'Category C', 'Category D']
subcategories1 = [5, 10, 15, 20]
subcategories2 = [3, 7, 8, 12]
subcategories3 = [2, 3, 4, 5]
# 生成位置
bar_width = 0.5
r = np.arange(len(categories))
# 绘制堆积条形图(横向)
plt.barh(r, subcategories1, color='b', edgecolor='white', height=bar_width, label='Subcategory 1')
plt.barh(r, subcategories2, left=subcategories1, color='r', edgecolor='white', height=bar_width, label='Subcategory 2')
plt.barh(r, subcategories3, left=np.array(subcategories1)+np.array(subcategories2), color='g', edgecolor='white', height=bar_width, label='Subcategory 3')
# 添加标签和标题
plt.ylabel('Category', fontweight='bold')
plt.xlabel('Values', fontweight='bold')
plt.yticks(r, categories)
plt.title('Horizontal Stacked Bar Chart Example')
# 添加图例
plt.legend()
# 显示图表
plt.show()