使用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()

07-09 07:08