Python 是一種高級編程語言,因其易于學習和使用而備受歡迎。在 Python 中,我們可以使用 matplotlib 庫來創建數據可視化。在本文中,我們將介紹如何使用 Python 和 matplotlib 庫創建復合餅圖來顯示多個數據集的比例關系。
# 導入必要的庫
import matplotlib.pyplot as plt
# 定義數據
sizes = [15, 30, 45, 10]
labels = ['A', 'B', 'C', 'D']
colors = ['#ff9999','#66b3ff','#99ff99','#ffcc99']
# 畫圖
fig1, ax1 = plt.subplots()
ax1.pie(sizes, colors = colors, labels=labels, autopct='%1.1f%%', startangle=90)
ax1.axis('equal')
# 添加第二層數據
sizes_2 = [10, 40, 30, 20]
colors_2 = ['#ff99ff', '#99ccff', '#ccffcc', '#ffccff']
w, h = ax1.get_width(), ax1.get_height()
ax2 = ax1.twiny()
ax2.pie(sizes_2, colors=colors_2, startangle=270, radius=0.7*w, autopct='%1.1f%%')
ax2.axis('equal')
# 添加圖例
plt.legend(loc='upper right', bbox_to_anchor=(1.5, 1))
# 顯示圖形
plt.show()
我們首先導入了必要的庫,然后定義了兩個數據集 sizes 和 sizes_2,以及與其對應的標簽 labels 和顏色集 colors。接著,我們使用 plt.subplots() 創建了一個圖形,然后在該圖形上創建了第一層餅圖。此外,我們調用了 autopct='%1.1f%%' 參數,以在圖形中顯示數據百分比。
接下來,我們使用 ax1.get_width() 和 ax1.get_height() 獲取第一層餅圖的寬度和高度,并創建了一個具有相同寬度和高度的第二層餅圖。我們還通過將 radius 設為原始餅圖的 0.7 倍,使第二層餅圖縮小了一些。最后我們將第二個餅圖的開始角度設置為 270 度,以獲得我們想要的位置和角度。
最后我們使用 plt.legend() 向圖形添加圖例,并使用 plt.show() 將圖形顯示出來。現在,您已經掌握了如何使用 Python 和 matplotlib 庫創建復合餅圖!
上一篇python 畫大餅游戲
下一篇c 更新json配置文件