需求一: 图例用4列展示
需求二: 表格填充你喜欢的任意颜色
需求三: 调整图例和表格位置,如运行效果图所示(不要求完全一致,但应做到相似度8成以上)。
效果图:
导入相应的库:
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精细调整图例位置):
主要参数:ncol:设置列数
bbox_to_anchor:精细调整位置(所传参数为列表)
plt.legend(kinds,ncol=4, loc='center right', bbox_to_anchor=[1.67 ,0.57])
添加表格(通过bbox精细调整表格位置和大小):
主要参数:cellColours:控制单元格颜色(所传参数为二维数据)
rowColours:控制行标签颜色(所传参数为一维数据)
colColours:控制列标签颜色(所传参数为一维数据)
bbox:精细控制表格位置和大小(所传参数为列表)
plt.table(cellText=[weight],cellLoc='center', rowLabels=['重量(g)'], colLabels=kinds,loc='right',
cellColours=[['pink','pink','pink','pink','pink','pink','pink','pink']],rowColours=['pink'],colColours=['pink','pink','pink','pink','pink','pink','pink','pink'],
bbox=[1,0.35,0.7,0.15])
显示图像:
plt.show()