导入模块
import matplotlib.pyplot as plt
设置中文
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
绘制饼图
kinds = ['面粉', '全麦粉', '酵母', '苹果酱', '鸡蛋', '黄油', '盐', '白糖']
weight = [250, 150, 4, 250, 50, 30, 4, 20]
color = ['red', 'pink', 'blue', 'yellow', 'red', 'pink', 'blue', 'yellow']
画饼图
plt.pie(weight, autopct='%3.1f%%')
添加图例(通过bbox_to_anchor精细调整图例位置)
plt.legend(kinds, loc='upper right', ncol=4,
bbox_to_anchor=[2, 0.8])
添加表格(通过bbox精细调整表格位置和大小)
plt.table(cellText=[weight], cellColours=[color], cellLoc='center', rowLabels=['重量(g)'],
rowColours=['pink'], colColours=color, colLabels=kinds, loc='bottom', bbox=[1.2, 0.5, 0.50, 0.1])
完整运行代码展示:
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei'] # 设置中文
plt.rcParams['axes.unicode_minus'] = False # 设置中文
# 绘制饼图
kinds = ['面粉', '全麦粉', '酵母', '苹果酱', '鸡蛋', '黄油', '盐', '白糖'] # 图例与行标题
weight = [250, 150, 4, 250, 50, 30, 4, 20]
color = ['red', 'pink', 'blue', 'yellow', 'red', 'pink', 'blue', 'yellow'] # 设置颜色
plt.pie(weight, autopct='%3.1f%%') # 画饼图
# 添加图例(通过bbox_to_anchor精细调整图例位置)
plt.legend(kinds, loc='upper right', ncol=4, # 设置4列
bbox_to_anchor=[2, 0.8]) # 精控放右上角
# 添加表格(通过bbox精细调整表格位置和大小)
plt.table(cellText=[weight], cellColours=[color], cellLoc='center', rowLabels=['重量(g)'],
rowColours=['pink'], colColours=color, colLabels=kinds, loc='bottom', bbox=[1.2, 0.5, 0.50, 0.1])
plt.show() # 绘图
运行结果展示