pyecharts 图表 将 Html 文件转成图片

​使用 pyecharts 生成图表是非常方便的,而且官方文档也特别详细,可以满足基本全部的图表需求。但是生成后的图表默认是 html 文件。当需要发送邮件时,html 文件放在邮件附件,邮件里不能直接预览,就很不方便。这时需要将 html 文件转成图片,再添加到邮件附件里。官方提供了 3 种渲染图片的方法,分别是 selenium, phantomjs 和 pyppeteer。这里介绍的是 phantomjs 方式,和另外一种 imgkit 方式。期间测试踩了很多坑,各种搜索解决方案,发现很零碎,有
摘要由CSDN通过智能技术生成


使用 pyecharts 生成图表是非常方便的,而且官方文档也特别详细,可以满足基本全部的图表需求。但是生成后的图表默认是 html 文件。当需要发送邮件时,html 文件放在邮件附件,邮件里不能直接预览,就很不方便。这时需要将 html 文件转成图片,再添加到邮件附件里。

官方提供了 3 种渲染图片的方法,分别是 selenium, phantomjspyppeteer。这里介绍的是 phantomjs 方式,和另外一种 imgkit 方式。

期间测试踩了很多坑,各种搜索解决方案,发现很零碎,有一些写的很简单自己琢磨了很久才解决了报错(也可能是我太菜了),因此整理成本篇文档,希望对大家有用。

环境:Centos 7、Python3

一、使用 snapshot_phantomjs 方式渲染图片

相关文档:https://pyecharts.org/#/zh-cn/render_images

1. 安装

Npm 安装。很容易报错,我就没有安装成功,网上的解决办法也不管用,后面直接去官网下载了

npm install -g phantomjs-prebuilt

去官网下载 https://phan

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
将`pyecharts`生成HTML文件插入到`Tkinter`窗口中,需要使用`tkinter`的`HTML`组件,它可以将HTML代码作为文本显示在窗口中。 以下是一个示例代码,演示如何使用`pyecharts`生成图表,并将图表保存为HTML文件,然后将HTML文件读取为文本,并在`Tkinter`窗口中显示。 ```python import tkinter as tk from tkinter import scrolledtext from pyecharts.charts import Bar from pyecharts import options as opts from pyecharts.render import make_snapshot from snapshot_selenium import snapshot as driver import os # 生成图表 bar = ( Bar() .add_xaxis(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]) .add_yaxis("商家A", [5, 20, 36, 10, 75, 90]) .set_global_opts(title_opts=opts.TitleOpts(title="某商场销售情况")) ) make_snapshot(driver, bar.render(), "bar.png") # 保存为HTML文件 bar.render("bar.html") # 打开HTML文件,读取内容 with open("bar.html", "r", encoding="utf-8") as f: html = f.read() # 创建窗口 window = tk.Tk() window.title("将Pyecharts生成HTML文件插入到Tkinter中") # 创建HTML组件,并添加内容 html_component = scrolledtext.ScrolledText(window, width=100, height=30) html_component.insert(tk.END, html) html_component.pack() # 进入主循环 window.mainloop() # 删除HTML图片文件 os.remove("bar.html") os.remove("bar.png") ``` 这段代码将创建一个名为“将Pyecharts生成HTML文件插入到Tkinter中”的窗口,并在其中添加一个`ScrolledText`组件来显示HTML代码。在这个例子中,我们使用`pyecharts`生成了一个柱状图,并将其保存为HTML文件。然后,我们使用`open()`函数打开HTML文件,并将其读取为字符串。最后,我们将HTML字符串添加到`ScrolledText`组件中,并在窗口中显示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值