table函数含义如下:
cellText :表示表格单元格中的数据,是一个二维列表。
cellColours :表示单元格的背景颜色。
cellLc:表示单元格文本的对齐方式,支持"left'、'right'和'center’三种取值,默认值为'right'。
colWidths :表示每列的宽度。
rowLabels :表示行标题的文本。
rowColours :表示行标题所在单元格的背景颜色。
rowLoc :表示行标题的对齐方式。
colLabels:表示列标题的文本。
colColours :表示列标题所在单元格的背景颜色。
colLoc :表示列标题的对齐方式。
loc :表示表格与绘图区域的对齐方式。
# 需求一: 图例用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]
color = ['pink','pink','pink','pink','pink','pink','pink','pink'] #设置颜色
plt.pie(weight, autopct='%3.1f%%') #画饼图
# 添加图例(通过bbox_to_anchor精细调整图例位置)
plt.legend(kinds, loc='upper right', ncol=4, #设置4列
bbox_to_anchor=[1.5, 0.75]) #精控放右上角
# 添加表格(通过bbox精细调整表格位置和大小)
plt.table(cellText=[weight], cellColours=[color], cellLoc='center', rowLabels=['重量(g)'],
rowColours=['pink'], colColours=color, colLabels=kinds,loc='bottom',bbox=[0.98,0.54,0.50,0.1])
plt.show() #绘图
图例4:
运行效果图: