pyecharts生成图片

首先参考官方渲染图片地址,其中提供了两种方式 snapshot-selenium与snapshot-phantomjs

1、查看源码
1.1、生成图表
from pyecharts import options as opts
from pyecharts.charts import Bar
from pyecharts.render import make_snapshot

def bar_chart() -> Bar:
c = (
Bar()
.add_xaxis([“衬衫”, “毛衣”, “领带”, “裤子”, “风衣”, “高跟鞋”, “袜子”])
.add_yaxis(“商家A”, [114, 55, 27, 101, 125, 27, 105])
.add_yaxis(“商家B”, [57, 134, 137, 129, 145, 60, 49])
.reversal_axis()
.set_series_opts(label_opts=opts.LabelOpts(position=“right”))
.set_global_opts(title_opts=opts.TitleOpts(title=“Bar-测试渲染图片”))
)
return c

bar.render(r’C:\Users\Administrator\Desktop\echarts\one_tset.html’)
1.1、selenium方式
from snapshot_selenium import snapshot

make_snapshot(snapshot, bar_chart().render(), “bar0.png”)
1.2、phantomjs方式
from snapshot_phantomjs import snapshot

make_snapshot(snapshot, bar_chart().render(), “bar0.png”)
2、准备工作
由于当时尝试时,单一方式一直保存不了,所以干脆两种方式全部安装。结果能够正常保存了。
两种方法一起准备,就是下载selenium与phantomjs。

2.1、安装snapshot-selenium & selenium
pip install selenium
pip install snapshot-selenium
2.2、安装snapshot-phantomjs & phantomjs
pip install snapshot-phantomjs
下载地址:http://phantomjs.org/download.html
添加路径:
找到phantomjs文件下的bin文件夹,将其路径设为系统path路径:
路径设置
3、报错
3.1、下载chromedriver
下载完成后运行时报错:‘chromedriver_X64.exe’ executable needs to be in PATH

查询相关资料后发现需要下载chromedriver,chromedriver下载地址。

需要下载对应chrome版本的chromedriver,ChromeDriver与Chrome版本对应参照表。或者直接在下载页面中查看notes.txt查看对应的版本。
查看对应版本
3.2、配置环境变量
将chromedriver.exe拷贝至谷歌浏览器目录(如 C:\Program Files\Google\Chrome\Application)以及python根目录(C:\Python3.7)。
将谷歌浏览器环境变量添加到path(C:\Users\HD003\AppData\Local\Google\Chrome\Application)。 至此,就可以解决 ‘chromedriver’ executable needs to be in PATH问题了。

4、成功运行代码
from pyecharts.charts import Bar
from pyecharts import options as opts
from pyecharts.globals import ThemeType
from pyecharts.render import make_snapshot

from snapshot_selenium import snapshot
#--------------------------------------------
bar = (
Bar(init_opts=opts.InitOpts(theme=ThemeType.PURPLE_PASSION))
.add_xaxis([“Jan”, “Feb”, “Mar”, “Apr”, “May”, “Jun”, “Jul”, “Aug”, “Sep”, “Oct”, “Nov”, “Dec”])
.add_yaxis(“降雨量”, [2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3])
.add_yaxis(“蒸发量”, [2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3])
.set_global_opts(title_opts=opts.TitleOpts(title=“柱状图”, subtitle=“一年的降雨量与蒸发量”))
# 或者直接使用字典参数
# .set_global_opts(title_opts={“text”: “主标题”, “subtext”: “副标题”})
)
bar.render(r’C:\Users\Administrator\Desktop\echarts\one_tset.html’)

make_snapshot(snapshot, bar.render(), r’C:\Users\Administrator\Desktop\bar.png’)
4、内网打开html打开为空白页
由于在内网开发,生成的html页面打开为空白页。
notepad++查看生成的文件:

Awesome-pyecharts 发现其中的echarts.min.js文件为下载链接,内网无法获取,所以显示为空白页。

4.1、解决方式
下载echarts.min.js:
去echarts官网下载,选取所需的内容后下载。
将echarts.min.js与生成的html放入同一文件夹中。

修改html的头,如下

ECharts 然后再次打开html文件,显示正常。

保存为图片:

make_snapshot(snapshot,r"C:\Users\Administrator\Desktop\one_tset.html", r"C:\Users\Administrator\Desktop\bar.png")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值