# 需求一: 图例用4列展示
# 需求二: 表格填充你喜欢的任意颜色
# 需求三: 调整图例和表格位置,如运行效果图所示(不要求完全一致,但应做到相似度8成以上)。
# 提示:不建议使用pycharm来做实验(超出绘图区域的范围会看不到,除非你调整窗口视野),最好使用jupyter notebook来做实验
# matplotlib中文网 https://www.matplotlib.org
#导入模块
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.5, 0.8],ncol=4)
# 添加表格(通过bbox精细调整表格位置和大小)
plt.table(cellText=[weight], cellLoc='center',
rowLabels=['重量(g)'],
colLabels=kinds,
loc='bottom',
rowColours='b',#设置标题文本所在单元格的颜色为蓝色
bbox=[1.25,0.35,1.5,0.25],#精细调整表格的位置通过多次读取数据取得最接近的结果
colColours=('#DDA0DD','#DDA0DD','#DDA0DD','#DDA0DD','#DDA0DD','#DDA0DD','#DDA0DD','#DDA0DD'),#设置行标题所在的单元格颜色
cellColours=[['cyan','cyan','cyan','cyan','cyan','cyan','cyan','cyan']])#单元格背景颜色
plt.show()