首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在matplotlib中创建堆叠条形图,其中堆栈在条形图之间有所不同?

在matplotlib中创建堆叠条形图,可以通过使用bar函数和bottom参数来实现。堆叠条形图是指在同一位置上堆叠多个条形图,每个条形图代表一个类别,堆叠的高度表示该类别的不同部分或子类别。

下面是创建堆叠条形图的步骤:

  1. 导入必要的库:
代码语言:txt
复制
import matplotlib.pyplot as plt
import numpy as np
  1. 创建数据:
代码语言:txt
复制
categories = ['A', 'B', 'C', 'D']  # 类别
subcategories = ['X', 'Y', 'Z']  # 子类别
data = np.array([[1, 2, 3], [2, 3, 4], [3, 4, 5], [4, 5, 6]])  # 数据
  1. 创建堆叠条形图:
代码语言:txt
复制
fig, ax = plt.subplots()
bars = []
bottom = np.zeros(len(categories))  # 初始堆叠高度

for i, subcat in enumerate(subcategories):
    bar = ax.bar(categories, data[:, i], bottom=bottom, label=subcat)
    bars.append(bar)
    bottom += data[:, i]  # 更新堆叠高度

ax.set_xlabel('Categories')
ax.set_ylabel('Values')
ax.set_title('Stacked Bar Chart')
ax.legend()

plt.show()

在上述代码中,首先创建了类别和子类别的列表,以及对应的数据矩阵。然后通过循环遍历子类别,使用bar函数创建堆叠条形图,并将每个条形图对象添加到bars列表中。在创建每个条形图时,通过bottom参数指定堆叠的高度,初始值为0,并在每次循环中更新堆叠高度。

最后,设置坐标轴标签和标题,添加图例,并显示图形。

关于堆叠条形图的优势和应用场景,堆叠条形图可以直观地展示不同类别的子类别之间的比较和组成关系。它常用于展示多个类别的不同部分或子类别的大小比较,例如不同产品的销售额、不同地区的人口分布等。

推荐的腾讯云相关产品和产品介绍链接地址:

请注意,以上推荐的腾讯云产品仅供参考,具体选择应根据实际需求进行评估和决策。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券