添加自定义样式的表格
matplothib可以绘制各种各样的图表,以便用户发现数据间的规律。为了更加凸显的规律与特点,便于用户从多元分析的角度深入挖掘数据潜在的含义,可将图表与数据结合使用、使用数据表格强调图表某部分的数值。matplotlib中提供了为图表添加数据表格的函数table(),该函数的语法格式如下所示:
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’、'right'和'center'三种取值,默认值为‘right'。
*colWidths:表示每列的宽度。
* rowLabels:表示行标题的文本。
*rowColours :表示行标题所在单元格的背景颜色。
*rowLoc :表示行标题的对齐方式。
*colLabels :表示列标题的文本。
*colColours :表示列标题所在单元格的背景颜色。
*colLoc:表示列标题的对齐方式。
*loc :表示表格与绘图区域的对齐方式。
此外还可以使用Axes对象的table()方法为图标添加数据表格,此方法与table()函数用法相似,此处不再赘述。
实例:果酱面包配料比例.
果酱面包配料表
配料名称 | 重量 |
面粉 | 250 |
全麦粉 | 150 |
酵母 | 4 |
苹果酱 | 250 |
鸡蛋 | 50 |
黄油 | 30 |
盐 | 4 |
白糖 | 20 |
具体代码如下。
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',ncol=4, bbox_to_anchor=[2.0.7]),
# 单元格背景颜色
colors = ['pink','pink','pink','pink','pink','pink','pink','pink']
# 添加表格(通过bbox精细调整表格位置和大小)
plt.table(cellText=[weight], cellLoc='center', rowLabels=['重量(g)'],
colLabels=kinds,loc='right' ,bbox=[1.2,0.3,0.8,0.3],
cellColours=colors, rowColours=['pink'], colColours=[colors])
# 展示表格
plt.show()
运行程序,效果如图所示。