2级嵌套条形图(也称为分组条形图或分层条形图)是一种用于显示数据层次结构的图表类型。它可以帮助你在同一图表中比较不同类别和子类别的数据。
在 Python 中,你可以使用 matplotlib
库来创建2级嵌套条形图。以下是一个示例,展示如何使用 matplotlib
创建一个2级嵌套条形图。
假设我们有以下数据:
import matplotlib.pyplot as plt
import numpy as np
# 数据
categories = ['A', 'B']
subcategories = ['1', '2']
values = {
'A': [10, 15],
'B': [20, 25]
}
# 设置条形图的宽度
bar_width = 0.35
# 设置位置
index = np.arange(len(subcategories))
# 创建图形和子图
fig, ax = plt.subplots()
# 绘制条形图
for i, category in enumerate(categories):
ax.bar(index + i * bar_width, values[category], bar_width, label=category)
# 设置X轴标签
ax.set_xlabel('Subcategories')
ax.set_ylabel('Values')
ax.set_title('2-Level Nested Bar Chart')
ax.set_xticks(index + bar_width / 2)
ax.set_xticklabels(subcategories)
# 添加图例
ax.legend()
# 显示图形
plt.show()
categories
列表包含主要类别(A 和 B)。subcategories
列表包含子类别(1 和 2)。values
字典包含每个主要类别下的子类别对应的值。bar_width
变量定义了每个条形的宽度。index
变量使用 np.arange
函数生成子类别的索引。plt.subplots()
创建图形和子图。ax.bar()
方法绘制条形图。通过循环 categories
列表,分别绘制每个主要类别的条形图,并将它们在 X 轴上错开。ax.set_xticks()
和 ax.set_xticklabels()
设置 X 轴的刻度和标签。ax.legend()
添加图例。plt.show()
显示图形。运行上述代码将生成一个2级嵌套条形图,其中每个主要类别(A 和 B)都有两个子类别(1 和 2),并且每个子类别都有对应的值。图例将显示主要类别的标签,X 轴将显示子类别的标签。
通过这种方式,你可以使用 matplotlib
创建和自定义2级嵌套条形图,以便更好地展示和比较数据。
领取专属 10元无门槛券
手把手带您无忧上云