在Matplotlib中,創(chuàng)建具有層次結(jié)構(gòu)的條形圖可以通過(guò)使用多個(gè)bar
函數(shù)來(lái)實(shí)現(xiàn)。您可以通過(guò)不同的顏色或不同的高度來(lái)區(qū)分不同層次的條形圖。
以下是一個(gè)創(chuàng)建具有層次結(jié)構(gòu)的條形圖的示例代碼:
import matplotlib.pyplot as plt
# 數(shù)據(jù)
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']
# 創(chuàng)建圖表
fig, ax = plt.subplots()
# 遍歷每個(gè)數(shù)據(jù)點(diǎn),并創(chuàng)建條形圖
for i, (label, values) in enumerate(data.items()):
bottom = None
for 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 = height
else:
bottom += height
# 設(shè)置圖例和標(biāo)簽
ax.legend(years)
ax.set_ylabel('Value')
ax.set_title('Hierarchical Bar Chart')
plt.show()
在這個(gè)示例中,我們首先定義了數(shù)據(jù),其中包含三個(gè)類(lèi)別(A、B和C)和三個(gè)年份(2019、2020和2021)的值。然后,我們遍歷每個(gè)類(lèi)別的數(shù)據(jù),并使用bar
函數(shù)創(chuàng)建具有不同顏色和高度的條形圖。最后,我們添加圖例和標(biāo)簽,然后顯示圖表。
您可以根據(jù)自己的數(shù)據(jù)和需求修改代碼來(lái)創(chuàng)建具有不同層次結(jié)構(gòu)的條形圖。