emememem......

今天有个需求,需要读取两个csv文件然后依据数据的差异动态绘制出表格,然后搜了一圈利用Python的攻略,发现都无甚用,还是最终回到了Matplotlib的怀抱,发现网上讲解利用Matplotlib绘制表格的博文太少(PS:浪费了我很多时间),于是以本文记之。Pandas 中文手册​www.pypandas.cnMatplotlib 中文手册​www.matplotlib.org.cn

Python 可以利用Pandas来读取csv格式的文件,建议标准化csv文件(第一行为表头,或者省略表头),Pandas可以自动识别出数据的格式:obj(string),float,int

import pandas as pd

csv_cur = pd.read_csv(csv_cur_path,header=0) # 可以手动指定表头行

2. 设置图表的尺寸和分辨率,figsize长宽大小,dpi像素分辨率

plt.figure(figsize=(16, 8), dpi=100)

3. 设置表格的行总数,framedata通过iloc来索引每一个元素

row_len = len(csv_cur.iloc[:, 0])

4. 设置表头,framedata通过columns来获得表头行

col_list = list(csv_cur.columns)

5. 表格具体内容需要通过cellText来设置,每一个选项都是list[],表格从左上角开始定义(0,0,),包括表头,因此当设置colLabels时,表格内容设置需要避免覆盖第1行

# 表格的内容从第一行

for i in np.arange(row_len + 1):

for j in np.arange(col_len):

if i == 0:

the_table[i, j].get_text().set_fontsize(font_size)

the_table[i, j].get_text().set_color((0, 0, 0))

else:

the_table[i, j].get_text().set_fontsize(font_size)

the_table[i, j].get_text().set_color(table_colors[i - 1][j])

the_table = plt.table(cellText=table_vals,

cellLoc='center',

colWidths=col_widths,

colLabels=col_labels,

loc='center')

6. 由于表格内容和字体需要手动定义,因此需要手动指定表的列宽

col_len = len(col_list)

col_width = 0.65 / col_len

col_widths = [col_width * 1.3]

for i in np.arange(col_len - 1):

if csv_diff.iloc[0, i + 1] == 0:

col_widths.append(col_width * 0.7)

else:

col_widths.append(col_width)

7. 关掉图表的坐标轴并保存图片

plt.axis('off')

result = "visualize_slam_result_table.png"

plt.savefig(result)

plt.show()

python绘制复杂表格_Matplotlib绘制表格相关推荐

  1. python画表格_PyQt5 绘制表格

    PyQt5绘制表格 PyQt5绘制表格需要用到QTableWidget控件,QTableWidget可以添加行,添加列,添加表格图片等.而且可以自定义表格样式.非常好用. 我们先看下图吧 源码 # - ...

  2. Highcharts使用表格数据绘制图表

    Highcharts使用表格数据绘制图表 在Highcharts中,同意用户使用网页中现有的表格数据作为数据来源,然后依据该数据来源绘制图表.对于一个典型的HTML表格.当中,第一列的数据会作为x轴刻 ...

  3. 二次函数图像如何用计算机绘制,怎么在WPS表格中绘制二次函数曲线图

    WPS表格软件的最新版本集成了强大的函数功能和数据处理功能,在计算机办公领域内,基本胜任常用数据统计管理的办公任务.下面小编就教你怎么在WPS表格中绘制二次函数曲线图. WPS表格中绘制二次函数曲线图 ...

  4. 计算机绘制表格教案,计算机表格的创建与编排教案.doc

    滨州技术学院教案 课程:计算机应用基础 2010-2011学年第二学期 教师:毛蔚 授课日期5月18日(三)5月24日(四) 班 级10电子1班10电子2班 课 题3.6 表格的创建与编排课 时2课时 ...

  5. 怎么在WPS表格中绘制二次函数曲线图

    WPS表格软件的最新版本集成了强大的函数功能和数据处理功能,在计算机办公领域内,基本胜任常用数据统计管理的办公任务.下面小编就教你怎么在WPS表格中绘制二次函数曲线图. WPS表格中绘制二次函数曲线图 ...

  6. tkinter绘制组件(12)——表格

    tkinter绘制组件(12)--表格 引言 构思 外观 绘制方法 布局 函数结构 绘制表头 绘制表格内容 获取高度和重绘 完整代码函数 效果 测试代码 最终效果 2021-12-12新样式 2022 ...

  7. python中画折线图不同颜色的两段_matplotlib绘制精美的折线图——另附颜色、形状查找表...

    0 配置及环境 系统: win7 x64 python: 3.64 x64 包: matplotlib.numpy 本文主要是讲述如何利用python的matplotlib包来绘制精美的折线图,包括绘 ...

  8. python怎么画高程三维网格图_matplotlib绘制等高线图

    参考自Matplotlib Python 画图教程 (莫烦Python)(12)_演讲•公开课_科技_bilibili_哔哩哔哩 https://www.bilibili.com/video/av16 ...

  9. python库Camelot从pdf抽取表格数据以及python库camelot安装及使用中的一些注意事项

    一.python库camelot安装及使用中的一些注意事项 1)camelot方法有两种解析模式:流解析(stream).格子解析(lattice),其中格子解析能够保留表格完整的样式,对于复杂表格来 ...

  10. python使用matplotlib可视化subplots绘制子图、自定义几行几列子图,如果M行N列,那么最终包含M*N个子图、在指定的子图中添加可视化结果

    python使用matplotlib可视化subplots绘制子图.自定义几行几列子图,如果M行N列,那么最终包含M*N个子图.在指定的子图中添加可视化结果 目录

最新文章

  1. 天正立面lisp什么意思_合欢花的花语是什么?为什么合欢花叫苦花?
  2. 北京小伙用AI修复100年前的京城老视频爆火网络,作者:7天完成,颜色还有不足...
  3. Java中的事务——全局事务与本地事务
  4. python爬虫多进程_Python爬虫技术--基础篇--多进程
  5. 经典假设检验理论记录一二
  6. docker mysql5.7 主从_使用Docker部署MySQL 5.78.0主从集群的方法步骤
  7. Qt5学习笔记之bin文件合成工具二:bin文件的读取和写入
  8. python-学生管理系统--9-整体代码
  9. 动物老了没生存能力时,它的子女会养育照顾它吗?
  10. 如何禁止用户删除计算机服务,怎样才能禁止别人删除我电脑中的文件?
  11. 【原创百篇纪念】2048蒙特卡洛法与强化学习测试+B站视频爬取与Cookie攻击测试
  12. 基数树结构---radix_tree
  13. Android程序员二本出身、逆袭网易、一路孤独,idea开发工具
  14. 自我激励的100种方法
  15. 用Python把B站视频弹幕爬下来,绘制词云图看看大家最关心什么!
  16. 求50以内的全部素数
  17. TOM企业邮箱安全卫士告诉你,如何告别邮箱被盗
  18. win10配置android环境变量,adb环境变量配置win10,adb添加环境变量
  19. 澳大利亚各大城市生活成本
  20. Android SlidingMenu 使用详解

热门文章

  1. 移动新魔百和M302A-YS代工_卡刷固件包
  2. 萤石云视频预览、回放、自定义录制
  3. absolute 宽度自适应
  4. 三阶魔方快速还原法还原方法
  5. 元宇宙的第一步,应该在汽车里迈出去?
  6. 书中自有黄金屋系列4:读《一课经济学》
  7. 腾讯TEG一面(电话面试)
  8. 如何从XP安装光盘中提取taskmgr.exe
  9. 苹果无需越狱(iPhone、iPad)手机多开教程
  10. 安装gooreplacer插件为含有googlefonts api的网页提速