堆叠柱状图用于展示多个变量在每个类别中的累计值。以下是一个绘制堆叠柱状图的示例代码:
import matplotlib.pyplot as plt
import numpy as np
# 准备数据
categories = ['A', 'B', 'C', 'D', 'E']
group1 = [20, 35, 30, 25, 40]
group2 = [25, 30, 35, 20, 35]
x = np.arange(len(categories)) # 标签位置
# 创建图形和坐标轴
fig, ax = plt.subplots()
# 绘制堆叠柱状图
ax.bar(x, group1, label='group1')
ax.bar(x, group2, bottom=group1, label='group 2')
# 设置图形属性
ax.set_xlabel(' category')
ax.set_ylabel('value')
ax.set_xticks(x)
ax.set_xticklabels(categories)
ax.legend()
# 显示图形
plt.show()
代码解释
准备数据:定义了类别标签和两个组的数值。
绘制堆叠柱状图:调用两次 ax.bar() 函数,第一次绘制第一个组的柱状图,第二次绘制第二个组的柱状图,并通过 bottom 参数指定第二个组的柱状图从第一个组的顶部开始堆叠。
设置图形属性:设置坐标轴标签、刻度标签和图例。
显示图形:使用 plt.show() 显示图形。