( 图表 ) 甜甜圈图
甜甜圈图表 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()
微信扫码关注
抖音扫码关注