目录
pyecharts渲染图片
pyecharts v1.x版本后,提供了 selenium, phantomjs 和 pyppeteer 三种方式的渲染,只要会其中一种即可 。具体方式见官方文档。这里我采用selenium方式。(官方文档 :http://pyecharts.org/#/zh-cn/render_images)
1.安装snapshot-selenium
pip install snapshot-selenium
2.配置 browser driver
由于输出图片时候会用到网页驱动器,这里建议使用谷歌驱动器chrome driver,因此需要下载与chrome版本对应的chrome driver。并把 chromedriver.exe 拷贝到谷歌浏览器的安装目录,同时配置PATH 即可。
(1)这里我下载的谷歌浏览器版本是:80.0.3987.100,可以在谷歌浏览器中输入chrome://version/,查看版本
(2)下载对应版本的chrome driver,大版本对应即可:
http://chromedriver.storage.googleapis.com/index.html或http://npm.taobao.org/mirrors/chromedriver/
这里我我下载的是80.0.3987.106(chromedriver_win32.zip ),虽然我是64位系统,但是官网没有64位,下载32位安装后也能成功运行,所以这个大家不要担心,跟着我的步骤做即可,压缩文件下载完成后,有2步要做 :
①将解压后将exe文件拷贝到chrome的目录下,
我的目录是:C:\Users\DELL\AppData\Local\Google\Chrome\Application(默认安装目录)
②再将该文件拷贝到Python的根目录下,
我的目录是:E:\Python\Python37(我自定义的Python安装目录)
(3)将chrome的路径放入环境变量(系统变量的PATH)里,否则我们运行程序时,需要注明Chrome的Application路径,这样很麻烦。(路径为:C:\Users\DELL\AppData\Local\Google\Chrome\Application)
到此,我们已经配置成功,下面是一个例子来检测是否运行成功。
3.测试demo
(1)图表
from pyecharts.charts import Bar
from pyecharts import options as opts
# 导入输出图片工具
from pyecharts.render import make_snapshot
# 使用snapshot-selenium 渲染图片
from snapshot_selenium import snapshot
# 创建一个柱状图Bar实例
bar = (
Bar()
# 添加X轴数据
.add_xaxis(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"])
# 添加Y轴数据,系列的名称
.add_yaxis("商家A", [5, 20, 36, 10, 75, 90])
.add_yaxis("商家B", [8, 15, 60, 20, 25, 30])
# 添加标题
.set_global_opts(title_opts=opts.TitleOpts(title="主标题: 双十一销量", subtitle="副标题:服饰类"))
)
# 输出保存为图片
make_snapshot(snapshot, bar.render(), "E:\\Pycharm\\PycharmProjects\\untitled\\picture_result\\picture01.png")
#保存路径可以自定义,输入图片文件的速度较慢 ,可以先输出网页,测试成功后,再转成图片
(2)地图
from pyecharts import options as opts
from pyecharts.charts import Map
from pyecharts.render import make_snapshot
# 使用snapshot-selenium 渲染图片
from snapshot_selenium import snapshot
map = (
Map()
#.add("商家A", [list(z) for z in zip(Faker.guangdong_city,Faker.values())], "哈尔滨")
.add(
"哈尔滨市地图",
data_pair=[("道里区",0),("道外区",0),("香坊区",0),("南岗区",0),("双城区",0),("阿城区",0),("松北区",0),("平房区",0),("呼兰区",0)],
maptype="哈尔滨",
#is_map_symbol_show=False, 是否显示标记点
)
.set_global_opts(
title_opts=opts.TitleOpts(title="Map-哈尔滨地图"), visualmap_opts=opts.VisualMapOpts()
)
#网页格式输出
#.render("E:\\Pycharm\\PycharmProjects\\untitled\\picture_result\\geo05.html")
)
#图片格式输出
make_snapshot(snapshot, map.render(), "E:\\Pycharm\\PycharmProjects\\untitled\\picture_result\\picture02.png")