这款工具可以轻松让 Matplotlib 绘制精美漂亮的表格

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

大家好matplotlib作为数据可视化的强力工具可以帮助我们自由创作各式各样的数据可视化作品其中matplotlib.pyplot.table模块就专门用于绘制 表格但是由于参数复杂且默认样式单一简陋想基于它绘制出美观的表格需要花费不少功夫。

而我最近发现的一个基于matplotlib的第三方库plottable用它来生成数据表格图既简单又美观今天的文章中费老师我就来带大家学习它的常用方法😎~

文章目录

技术交流

技术要学会分享、交流不建议闭门造车。

本文技术由粉丝群小伙伴推荐分享汇总。有趣使用工具、源码、数据、技术交流提升均可加交流群获取群友已超过3000人添加时最好的备注方式为来源+兴趣方向方便找到志同道合的朋友。

方式①、添加微信号dkl88191备注来自CSDN +技术交流
方式②、微信搜索公众号Python学习与数据挖掘后台回复加群

基于plottable绘制漂亮的表格

使用pip install plottable完成安装后我们先从一个简单的例子了解其基础的使用方式

从简单例子出发

plottable的基础使用很简单在已有数据框的基础上直接调用plottable中的Table模块即可

渲染出的表格图如下

plottable的常用方法

了解到plottable的基础用法后接下来我们来学习如何添加一些常用参数来对表格进行美化

1 控制表格奇数偶数行底色

通过在Table()中设置参数odd_row_coloreven_row_color我们可以传入matplotlib中合法的色彩值进行表格奇数偶数行底色的设置

2 控制表头单元格与数据单元格样式

通过Table()中的参数col_label_cell_kwcell_kw我们可以分别对表头区域单元格、数据区域单元格进行样式设置接受matplotlib.patches.Rectangle全部可用参数例如

3 调节单元格文字样式

通过参数textprops我们可以对全部单元格的文字样式进行控制

4 配置行分割线

通过bool型参数col_label_dividerfooter_dividerrow_dividers可以分别设置是否为表头、表格尾部、数据行绘制分割线

而通过参数col_label_divider_kwfooter_divider_kwrow_divider_kw则可以分别控制各个部分分割线的样式支持plt.plot中全部参数

5 基于ColDef的列样式细粒度设置

plottable中最强大的地方在于其通过配置由plottable.ColDef对象列表构成的column_definitions参数可细粒度地对每一列进行自由的样式定义其中每个ColDef()对象通过参数name与列名进行对应常见的用法有

  • 分别设置不同字段的宽度比例系数

以每列的默认宽度为1可以分别为不同列调整宽度

  • 分别设置不同字段的文本对齐方式

每个ColDef对象都可设置textprops参数基于此可以实现为不同字段定义水平对齐方式

  • 分别为不同字段设置数值色彩映射

通过为ColDef设置参数cmaptext_cmap我们可以分别基于对应列的数值对其单元格底色或字体颜色进行值映射

  • 为字段创建分组展示

通过为若干个ColDef设置相同的group参数我们可以为具有相同group参数的字段添加分组标识

  • 为指定字段绘制列边框

通过为ColDef设置参数border我们可以决定如何绘制不同字段的列边框

除了本文所述的部分功能外plottable还有很多高级进阶的使用方法譬如单元格图片渲染、自定义单元格绘制内容等下面的几个例子就是基于plottable创作的

https://plottable.readthedocs.io/en/latest/example_notebooks/wwc_example.html

https://plottable.readthedocs.io/en/latest/example_notebooks/bohndesliga_table.html

https://plottable.readthedocs.io/en/latest/example_notebooks/plot_example.html

https://plottable.readthedocs.io/en/latest/example_notebooks/heatmap.html


更多用法请移步官网https://plottable.readthedocs.io/

以上就是本文的全部内容欢迎在评论区与我进行讨论~

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6