python绘制表格并保存为图片,python 生成图表

  python绘制表格并保存为图片,python 生成图表

  本文主要介绍Python数据显示的表格图片生成。文章基于Python库的相关资料,详细介绍了该主题,有一定参考价值的朋友可以参考一下。

  

目录
pytabplotly

前言:

  本文讲的是如何用Python生成表格图片。

  选一个合适库

  Python最大的优势就是第三方库丰富。基本上你想要什么功能都能找到别人实现的库,几行代码就能调用。

  Pytable

  日本人开发的pytab库是第一个被发现的。是基于matplotlib来画图的。默认参数下生成的表格外观一般,无法显示汉字。字体也很小,效果不理想。

  一开始,我还处于一种心态。我把这个库的源代码下载到magic change,改了字体和大小,生成的表格终于可以读取了。但是排版的时候还是会出现各种奇怪的问题,比如文字溢出单元格,让我很累.

  Plotly:地址

  我在后面发现了一个新的图书馆:plotly,

  官网的介绍是:

  一个专门为机器学习和数据科学设计的前端展示工具,单纯为了画表就大材小用了~用一个网页渲染,看例子效果还行。我用这个plotly试试。嗯,真的没事,就这样吧。

  本文将分别介绍这两个库的使用,包括我在magic change中介绍pytab的地方。

  (不过还是推荐plotly。网页渲染不错。)

  

pytab

  首先安装

  pip安装pytab

  然后,我将绘制表格的代码封装到一个函数中。

  导入uuid

  从输入导入列表,字典,可选,元组

  导入pytab

  def draw _ table(data : Dict[str,list]):

  画一张桌子

  :参数数据:数据格式{

   a: [1.0,2.1,3.5,4.0,2.0,1.0,2.1,3.5,4.0,2.0,],

   b: [5.7,6.1,7.2,8.3,1.2,5.7,6.1,7.2,8.3,1.2,],

  }

  :返回:

  #设置字体,否则无法显示中文。

  pytab . PLT . RC params[ font . sans-serif ]=[ sim hei ]

  pytab.table(

  数据=数据,

  data_loc=中心,

  # th_type=黑暗,

  Th_c=#aaaaee ,#设置页眉的背景颜色。

  Td_c=gray ,#设置数据行的背景色。

  table_type=striped ,

  figsize=(len(data.keys()),int(len(data . values())/len(data . keys())1)),

  # fontsize=18,

  )

  # pytab.show()

  temp _ file=OS . path . join(tempfile . gettempdir(),f“{ uuid . uuid 4()。十六进制}。jpg’)

  打印(临时文件)

  pytab.save(临时文件)

  返回临时文件

  根据注释的数据格式,A和B是表头列名,后面的数组是各列的数据,很好理解。

  {

   a: [1.0,2.1,3.5,4.0,2.0,1.0,2.1,3.5,4.0,2.0,],

   b: [5.7,6.1,7.2,8.3,1.2,5.7,6.1,7.2,8.3,1.2,],

  }

  绘图表是这样的。

  如果我们再次尝试中文显示会发生什么?

  {

  第1列 3360 [1.0,2.1,3.5,4.0,2.0,1.0,2.1,3.5,4.0,2.0],

  第二栏3360 [5.7,6.1,7.2,8.3,1.2,5.7,6.1,7.2,8.3,1.2],

  }

  像这样画。

  有点丑。我几乎看不见它。

  好了~关于pytab就不多折腾了,毕竟上限到了。

  让我们来看看plotly。

  

plotly

  首先安装

  pip安装计划

  话不多说,照例我又在写一个函数。

  导入uuid

  从输入导入列表,字典,可选,元组

  导入plotly.graph_objects as go

  将plotly.io作为pio导入

  def draw _ table(headers : List[str],cells: List[list]):

  绘画桌

  : param headers : header=dict(values=[ A分数, B分数])

  :param cells: cells=dict(值=[[100,90,80,90],[95,85,75,95]])

  :返回:

  Pio . kaleido . scope . default _ width=len(,)。join(标题))* 20

  Pio . kaleido . scope . default _ height=250 len(cells[0])* 20

  fig=go。图(data=[go。table(header=dict(values=headers),cells=dict(values=cells))])

  #图显示()

  image _ file=OS . path . join(tempfile . gettempdir(),f“{ uuid . uuid 4()。十六进制}。jpg’)

  打印(“将图像写入”,图像文件)

  图.写入图像(图像文件)

  返回图像文件

  这次的参数格式和前面的pytab不一样,要传递两个参数,都是数组类型。

  第一个是标题,第二个数组是单元格。

  我们先来试一个例子。

  draw _ table([ A列, B列],[[100,90,80,90],[95,85,75,95]])

  然后去掉上面函数代码中的fig.show()注释,就可以看到生成的表格图片效果了。

  运行后可以发现浏览器是自动打开的,因为这个库是用网页来呈现表格的。

  效果如下:

  效果比之前的pytab要好。

  这就是这篇关于Python数据显示生成表格图片的文章。关于Python生成表格图片的更多信息,请搜索热门IT软件开发工作室之前的文章或者继续浏览下面的相关文章。希望大家以后多多支持热门IT软件开发工作室!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: