matplotlib可以绘制各种各样的图表,以便用户发现数据间的规律。matplotlib中提供了为图表添加数据表格的函数table(),该函数的语法格式如下所示:
1.table(cellText=None, cellColours-None, cellLoc='right', colwidths=None,
2.rowLabels-None, rowColours-None, rowLoc='left', colLabels=None,
3.colColours=None, colLoc='center', loc='bottom', bbox=None,
4.edges='closed*, **kwargs)
该函数常用参数表示的含义如下:
cellText:表示表格单元格中的数据,是一个二维列表。
cellColours:表示单元格的背景颜色。
cellLoc:表示单元格文本的对齐方式,支持'left'、'right' 和'center'三种取值,默认值为'right'。
colWidths:表示每列的宽度。
rowLabels:表示行标题的文本。
rowColours:表示行标题所在单元格的背景颜色。
rowLoc:表示行标题的对齐方式。
colLabels:表示列标题的文本。
colColours:表示列标题所在单元格的背景颜色。
colLoc:表示列标题的对齐方式。
loc:表示表格与绘图区域的对齐方式。(粗略调整表格的位置)
bbox:表示表格与绘图区域的对齐方式。(精确调整表格的锚点)
bbox = [xmin, ymin, width, height]
loc参数的取值及其对应的图例位置
位置编码 位置字符串 说明
0 'best' 自适应
1 'upper right' 右上方
2 'upper left' 左上方
3 'lower left' 左下方
4 'lower right' 右下方
5 'right' 右方
6 'center left' 中心偏左
7 'center right' 中心偏右
8 'lower center' 中心偏下
9 'upper center' 中心偏上
10 'center' 居中
# 需求一: 图例用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%%')
# 添加图例(通过bbox_to_anchor精细调整图例位置)
plt.legend(kinds, loc='upper right', bbox_to_anchor=[2.1, 0.7],
ncol=4)
# 添加表格(通过bbox精细调整表格位置和大小)
colors = ['pink','pink','pink','pink','pink','pink','pink','pink']
plt.table(cellText=[weight], cellLoc='center', rowLabels=['重量(g)'],
colLabels=kinds,loc='bottom' ,bbox=[1.2,0.3, 0.8, 0.2],
cellColours=[colors], rowColours=['pink'], colColours=colors)
plt.show()