在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 = 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
# 設置圖例和標簽
ax.legend(years)
ax.set_ylabel('Value')
ax.set_title('Hierarchical Bar Chart')
plt.show()
在這個示例中,我們首先定義了數據,其中包含三個類別(A、B和C)和三個年份(2019、2020和2021)的值。然后,我們遍歷每個類別的數據,并使用bar
函數創建具有不同顏色和高度的條形圖。最后,我們添加圖例和標簽,然后顯示圖表。
您可以根據自己的數據和需求修改代碼來創建具有不同層次結構的條形圖。