甜甜圈圖表 Donut Chart
甜甜圈圖表 Donut 是圓餅圖的應用,這篇教學會使用 matplotlib pyplot 模組裡的 pie() 方法,將資料繪製成甜甜圈圖表。
本篇使用的 Python 版本為 3.7.12,所有範例可使用 Google Colab 實作,不用安裝任何軟體 ( 參考:使用 Google Colab )
import matplotlib
要進行本篇的範例,必須先載入 matplotlib 函式庫的 pyplot 模組,範例將其獨立命名為 plt。
import matplotlib.pyplot as plt
繪製第一張甜甜圈圖表
按照繪製圓餅圖的方式,使用 pie() 方法繪製圓餅圖,接著設定 wedgeprops 參數的 width 屬性,就能產生甜甜圈圖表 ( width 屬性表示從外而內看得見的半徑長度 )。
參考:圓餅圖 Pie
import matplotlib.pyplot as plt
x = [1,2,3,4,5]
plt.pie(x,
labels=x,
radius=1.5,
wedgeprops={'linewidth':3,'edgecolor':'w','width':0.5})
plt.show()
額外設定 pie() 的參數,就能讓甜甜圈圖表有更多變化,下方的例子隱藏外側的標籤,加上百分比的顯示,並調整文字顏色。
import matplotlib.pyplot as plt
x = [1,2,3,4,5]
plt.pie(x,
radius=1.5,
autopct='%.1f%%',
textprops={'color':'w','weight':'bold','size':14},
pctdistance=0.7,
wedgeprops={'linewidth':3,'edgecolor':'w','width':1})
plt.show()
多層甜甜圈圖表
只需要繪製多次,每一次繪製時調整半徑 radius 和 wedgeprops 的 width 屬性,就能透在同一張圖表裡,重複疊上多層甜甜圈圖表。
import matplotlib.pyplot as plt
x = [1,2,3,4,5]
c1 = ['#f55','#09c','#0c6','#f90','#c5c']
c2 = ['#f77','#0ad','#0d9','#fa5','#d9d']
plt.pie(x,
radius=1.5,
colors=c1,
wedgeprops={'linewidth':2,'edgecolor':'w','width':1})
plt.pie(x,
radius=1,
colors=c2,
wedgeprops={'linewidth':2,'edgecolor':'w','width':0.5})
plt.show()
意見回饋
如果有任何建議或問題,可傳送「意見表單」給我,謝謝~