在matplotlib中创建堆叠条形图可以通过以下步骤实现:
import matplotlib.pyplot as plt
import numpy as np
categories = ['A', 'B', 'C', 'D', 'E'] # 类别
data1 = [10, 15, 7, 12, 9] # 数据1
data2 = [8, 12, 10, 5, 6] # 数据2
data3 = [5, 9, 11, 6, 8] # 数据3
fig, ax = plt.subplots()
# 设置条形图的位置和宽度
bar_width = 0.35
bar_positions = np.arange(len(categories))
# 绘制每个类别的条形图
ax.bar(bar_positions, data1, bar_width, label='Data 1')
ax.bar(bar_positions, data2, bar_width, bottom=data1, label='Data 2')
ax.bar(bar_positions, data3, bar_width, bottom=np.array(data1) + np.array(data2), label='Data 3')
# 设置图表标题和坐标轴标签
ax.set_title('Stacked Bar Chart')
ax.set_xlabel('Categories')
ax.set_ylabel('Values')
# 设置类别标签
ax.set_xticks(bar_positions)
ax.set_xticklabels(categories)
# 添加图例
ax.legend()
# 显示图表
plt.show()
这样就可以在matplotlib中创建一个堆叠条形图。堆叠条形图适用于比较多个类别的数据,并展示每个类别中不同数据的组成关系。在这个例子中,我们创建了三个数据集(data1, data2, data3),并使用ax.bar()
函数绘制堆叠条形图。bottom
参数用于指定上方条形图的底部位置,从而实现堆叠效果。
推荐的腾讯云相关产品:腾讯云服务器(https://cloud.tencent.com/product/cvm)
领取专属 10元无门槛券
手把手带您无忧上云