您的位置:宽带测速网 > 编程知识 > Matplotlib怎么创建具有层次结构的条形图

Matplotlib怎么创建具有层次结构的条形图

2025-06-27 17:05来源:互联网 [ ]

在Matplotlib中,创建具有层次结构的条形图可以通过使用多个bar函数来实现。您可以通过不同的颜色或不同的高度来区分不同层次的条形图。

以下是一个创建具有层次结构的条形图的示例代码:

import matplotlib.pyplot as plt# 数据data = {'A': {'2019': 10, '2020': 15, '2021': 20},'B': {'2019': 5, '2020': 10, '2021': 15},'C': {'2019': 8, '2020': 12, '2021': 18}}years = ['2019', '2020', '2021']colors = ['red', 'blue', 'green']# 创建图表fig, ax = plt.subplots()# 遍历每个数据点,并创建条形图for i, (label, values) in enumerate(data.items()):bottom = Nonefor j, year in enumerate(years):height = values[year]if bottom is not None:ax.bar(label, height, bottom=bottom, color=colors[j])else:ax.bar(label, height, color=colors[j])if bottom is None:bottom = heightelse:bottom += height# 设置图例和标签ax.legend(years)ax.set_ylabel('Value')ax.set_title('Hierarchical Bar Chart')plt.show()

在这个示例中,我们首先定义了数据,其中包含三个类别(A、B和C)和三个年份(2019、2020和2021)的值。然后,我们遍历每个类别的数据,并使用bar函数创建具有不同颜色和高度的条形图。最后,我们添加图例和标签,然后显示图表。

您可以根据自己的数据和需求修改代码来创建具有不同层次结构的条形图。