# 需求一: 图例用4列展示 # 需求二: 表格填充你喜欢的任意颜色 # 需求三: 调整图例和表格位置
导入模块、并显示中文以及符号
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%%')
添加图例
matplotlib.pyplot.legend(*args, **kwargs)
参数说明:
handles:表示由图形标识构成的列表
labels:表示由图列项构成的列表
loc:用于控制图例在图表中的位置
bbox_to_anchor:用于控制图例的布局
ncol:表示图例的列数,默认值为1
title:表示图例的标题,默认值为None
shadow:表示是否在图例后面显示阴影,默认值为None
fancybox:表示是否为图例设置圆角边框,默认值为None
plt.legend(kinds, loc='upper right', bbox_to_anchor=[1.3, 1.1],ncol=4)
添加表格
语法:
matplotlib.pyplot.table(cellText=None, cellColours=None, cellLoc='right', colWidths=None, rowLabels=None, rowColours=None, rowLoc='left', colLabels=None, colColours=None, colLoc='center', loc='bottom', bbox=None, edges='closed', **kwargs)
参数说明:
cellText:表示表格单元格中的数据,可以是一个二维列表。
cellColours:表示单元格的背景颜色。
cellLoc:表示单元格文本的对齐方式,支持'left'、'center'、'right'三种取值,默认为'right'。
colWidths:表示每列的宽度。
rowLabels:表示行标题的文本。rowColours:表示行标题的颜色
rowLoc:表示行标题的对齐方式,支持‘left'、‘center’、‘right’三种取值,默认值是‘left’。
colLabels:表示列标题的文本。
colColours:表示列标题所在单元格的背景颜色。
colLoc:表示列标题的对齐方式,默认为左对齐。
loc:表示表格与绘图区域的对齐方式。
plt.table(cellText=[weight], cellLoc='center', rowLabels=['重量(g)'], colLabels=kinds,loc='bottom',rowColours='m',
colColours=('#98F5FF','#8EE5EE','#7AC5CD','#53868B','#00F5FF','#00E5EE','#00C5CD','#00868B'),
cellColours=[['#FFFAF0','#FDF5E6','#FAF0E6','#FAEBD7','#FFEFD5','#FFEBCD','#FFE4C4','#FFDAB9']])
展示图表
plt.show()
运行效果

620

被折叠的 条评论
为什么被折叠?



