添加自定义样式的表格
matplotlib中提供了为图表添加数据表格函数table(),该函数的语法格式如下所示:
table(cellText=None, cellColours=None, cellLoc='right', colWidths=None,
rowLables=None, rowColours=None, rowLoc='left', colLabels=None,
colColours=None, colLoc='center', loc='bottom', bbox=None,
edges='closed', **kwargs)
table()函数常见的相关参数含义如下:
·cellText:表示表格单元格中的数据,是一个二维列表。
·cellColours :表示单元格的背景颜色。
·cellLoc:表示单元格文本的对齐方式,支持'left'、'right'和'center'三种取值,默认值'right'。
·colWidths :表示每列的宽度。
·rowLabels:表示行标题的文本。
·rowColours :表示行标题所在单元格的背景颜色。
·rowLoc:表示行标题的对齐方式。
·colLabels:表示列标题的文本。
·colColours :表示列标题所在单元格的背景颜色。
·colLoc:表示列标题的对齐方式。
·loc :表示表格与绘图区域的对齐方式
实例:果酱面包配料比列
具体代码如下:
#导入模块
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
#创建画布
fig=plt.figure()
#绘制绘图区域
ax=fig.add_subplot(111)
# 绘制饼图
kinds = ['面粉', '全麦粉', '酵母', '苹果酱', '鸡蛋', '黄油', '盐', '白糖']
weight = [250, 150, 4, 250, 50, 30, 4, 20]
ax.pie(weight, autopct='%3.1f%%')
# 添加图例(通过bbox_to_anchor精细调整图例位置)
ax.legend(kinds, loc='right', bbox_to_anchor=[2.2, 0.6],ncol=4)
#设置表格颜色
colors=['blue','yellow','green','red','purple','brown','pink','grey']
# 添加表格(通过bbox精细调整表格位置和大小)
ax.table(cellText=[weight],#表示单元格中的数据
cellLoc='center',#设置单元格居中对齐
rowLabels=['重量(g)'],#设置横向表格标签
colLabels=kinds,loc='bottom', #设置每一列名称
bbox=[1.15,0.25,1.1,0.2],#设置表格所在位置为右下方
colColours=['pink']*8, #设置每列颜色
rowColours=['pink'],#设置横向表格标签颜色为粉红色
cellColours=[colors],#设置每行颜色
alpha=0.3)#设置表格透明度
plt.show()
代码运行结果具体如下: