可视化添加自定义表格

matplotlib可以绘制各种各样的图表,以便用户发现数据间的规律。为了更加凸显数据间的规律与特点,便于用户从多元分析的角度深入挖掘数据潜在的含义,可将图表与数据表格结合使用,使用数据表格强调图表某部分的数据。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)

该函数常用参数表示的含义如下。

  • 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

# 绘制饼图
 

kinds = ['面粉', '全麦粉', '酵母', '苹果酱', '鸡蛋', '黄油', '盐', '白糖']
weight = [250, 150, 4, 250, 50, 30, 4, 20]
plt.pie(weight, autopct='%3.1f%%')


# 添加图例(通过bbox_to_anchor精细调整图例位置)

plt.legend(kinds, loc='best', bbox_to_anchor=[1.1, 0.88],ncol=4)  


#设置单元格的背景颜色

colors=['green','green','green','green','green','green','green','green']


# 添加表格(通过bbox精细调整表格位置和大小)

plt.table(cellText=[weight], cellLoc='center', rowLabels=['重量(g)'], colLabels=kinds,loc='bottom',
         bbox=[1.17,0.35,0.8,0.25],colColours=colors, rowColours=['green'],cellColours=[colors])

# 展示图表
 

plt.show()

全部代码:

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.1, 0.7],ncol=4)  
 
#单元格背景颜色
colors=['pink','pink','pink','pink','pink','pink','pink','pink']
 
# 添加表格(通过bbox精细调整表格位置和大小)
ax.table(cellText=[weight], cellLoc='center', rowLabels=['重量(g)'], colLabels=kinds,loc='bottom',
         bbox=[1.17,0.35,0.8,0.25],colColours=colors, rowColours=['pink'],cellColours=[colors])
		  
plt.show()

 

效果图:

caaf04bd4927457f93b745f57ade5350.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值