导入所需要的库
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]
plt.pie(weight, autopct='%3.1f%%')
添加图例(通过bbox_to_anchor精细调整图例位置)
plt.legend(kinds, loc='upper right', bbox_to_anchor=[2.2, 0.8],ncol=4)# bbox_to_anchor=[2.2, 0.8]表示在图形的外面去添加图例
# ncol=4 表示将图例弄成4列
cellColors = [['pink']*8] #表示将8个单元格的背景颜色弄成粉色的
# 添加表格(通过bbox精细调整表格位置和大小)
plt.table(cellText=[weight], cellLoc='center', rowLabels=['重量(g)'], colLabels=kinds,loc='bottom' ,bbox=[1.3,0.3,0.9,0.2],
rowColours = ['pink'],cellColours = cellColors,colColours = ['pink']*8)
#bbox=[1.3,0.3,0.9,0.2]表示将表格放置在图形外面,设置表格的宽度为0.9,高度为0.2
展示图表
plt.show()
结果如图所示:
完整代码如下:
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]
plt.pie(weight, autopct='%3.1f%%')
# 添加图例(通过bbox_to_anchor精细调整图例位置)
plt.legend(kinds, loc='upper right', bbox_to_anchor=[2.2, 0.8],ncol=4)# bbox_to_anchor=[2.2, 0.8]表示在图形的外面去添加图例
# ncol=4 表示将图例弄成4列
cellColors = [['pink']*8] #表示将8个单元格的背景颜色弄成粉色的
# 添加表格(通过bbox精细调整表格位置和大小)
plt.table(cellText=[weight], cellLoc='center', rowLabels=['重量(g)'], colLabels=kinds,loc='bottom' ,bbox=[1.3,0.3,0.9,0.2],
rowColours = ['pink'],cellColours = cellColors,colColours = ['pink']*8)
#bbox=[1.3,0.3,0.9,0.2]表示将表格放置在图形外面,设置表格的宽度为0.9,高度为0.2
plt.show()