import numpy as np
import matplotlib.pyplot as plt
# 准备数据
labels = ['basketball', 'football', 'volleyball', 'tennis'] # 标签列表
colors = ['#4B0082', '#6A5ACD', '#6495ED', '#778899'] # 颜色列表
sizes = np.random.randint(0, 100, 4) # 随机的数据数组
# 设置每块图形的中心偏离度,按照各模块比例计算
explode = [i/sum(sizes)*0.1 for i in sizes]
# 设置画布
plt.figure(figsize=(8, 4), dpi=100)
# 设置饼图属性,label标签,explode偏离度,colors部分颜色,autpct小数点,startangle开始的角度
plt.pie(sizes, labels=labels, explode=explode, colors=colors, autopct='%1.1f%%', startangle=90)
# 让饼图的长宽显示相等,成圆形
plt.axis('equal')
# 加图例
plt.title('sports')
plt.legend()
# 显示图形
plt.savefig('pie.png')
plt.show()