# matplotlib中文网 https://www.matplotlib.org
# 需求一: 图例用4列展示
# 需求二: 表格填充你喜欢的任意颜色
# 需求三: 调整图例和表格位置,如运行效果图所示(不要求完全一致,但应做到相似度8成以上)。
#导入库
import numpy as np
import matplotlib.pyplot as plt
# 设置中文
plt.rcParams['font.family'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False
ax = plt.subplots()
# 绘制饼图
kinds = ['面粉','全麦粉','酵母','苹果酱','鸡蛋','黄油','盐','白糖']
weight = [250, 150, 4, 250, 50, 30, 4, 20]
plt.pie(weight, autopct='%3.1f%%')
# 添加图例(通过bbox_to_anchor精细调整图例位置)
#ncol表示图例的列数
plt.legend(kinds, loc='upper right', bbox_to_anchor=[2.1,0.8],ncol=4)
# 添加表格(通过bbox精细调整表格位置和大小)bbox=[xmin,ymin,width,height]
cellcolours=[['pink']*8]#表示单元格的背景颜色
plt.table(cellText=[weight], cellLoc='center', rowLabels=['重量(g)'], colLabels=kinds, loc='lower center',bbox = [1.1,0.25,0.85,0.25],
rowColours=['pink']*8,cellColours=cellcolours,colColours=['pink']*8)
plt.show()