Pyecharts 静态图片输出&ppt中动态图表

pyecharts 简介

pyecharts 是一个用于生成 Echarts 图表的类库。Echarts 是百度开源的一个数据可视化 JS 库。用 Echarts 生成的图可视化效果非常棒,pyecharts可以与 Python 进行对接,可以在 Python 中直接使用数据生成图表。
至于怎么使用pyecharts 我这边就不多说了,官方的api:https://pyecharts.org/#/zh-cn/intro上面的图表使用都有demo,可以看着改。
我主要说两点:

  • pyecharts 的动态图表在ppt中演示
  • 输出静态的png图片

pyecharts 输出静态图片

现在pyecharts 输出的基本都是html文件,当需要用到图片时一般是直接在网页中截图,但是截图基本很模糊,用起来很不方便,网上有很多方法我都有去试过,我这就写一个我尝试过现在可以用的一个方法。

  1. 安装渲染包snapshot_selenium:把html文件转换成png文件格式
pip install snapshot-selenium #
  1. 下载浏览器驱动器:我这边用的是谷歌浏览器,建议大家也使用谷歌浏览器,其他浏览器我也没有测试过。在浏览器中输入chrome://version/,可以看到相应的版本号和chrome.exe的文件位置,等会把驱动就放在一起。
    Pyecharts 静态图片输出&ppt中动态图表_第1张图片
    驱动下载网址:http://chromedriver.storage.googleapis.com/index.html
  2. 将解压后的Chromedriver.exe 放入谷歌浏览器根目录和Python根目录(我用的anaconda所以就是anaconda的根目录)
    Pyecharts 静态图片输出&ppt中动态图表_第2张图片
    Pyecharts 静态图片输出&ppt中动态图表_第3张图片
  3. 使用make_snapshot生成图片,我这边简单给个例子:
from pyecharts.render import make_snapshot
from snapshot_selenium import snapshot
from pyecharts import options as opts
from pyecharts.charts import Bar
from pyecharts.faker import Faker

bar= Bar()
bar.add_xaxis(Faker.choose()).add_yaxis("商家A", Faker.values()).add_yaxis("商家B", Faker.values())
bar.set_global_opts(title_opts=opts.TitleOpts(title="Bar-基本示例", subtitle="我是副标题"))
bar.render("bar_base.html")

make_snapshot(snapshot, bar.render(), "bar.png")

这是输出的图片:黑色是因为我的jupyter主题的原因,请忽略
Pyecharts 静态图片输出&ppt中动态图表_第4张图片

pyecharts 动态图表在ppt中演示

  1. 打开ppt 的开发工具,在ppt选项自定义功能区里面勾选开发工具
    Pyecharts 静态图片输出&ppt中动态图表_第5张图片
  2. 在开发工具中找到Microsoft Web Browser 可以把它当做你用来播发动态图表的“电视机”,把你的电视机选好位置和大小之后,下一步就是选择遥控器,我这里用的是Active X插件,右键属性可以更改插件显示的名字。
    Pyecharts 静态图片输出&ppt中动态图表_第6张图片
    Pyecharts 静态图片输出&ppt中动态图表_第7张图片
  3. 修改pyecharts 的html文件 渲染格式,右键用记事本打开,加上这句代码把渲染修改为IE9以上就可以了
    Pyecharts 静态图片输出&ppt中动态图表_第8张图片
  4. 在ppt中双击之前设置好的遥控器-Active X插件,插入语句:
    WebBrowser1.Navigate (“html 的文件路径”)
    在这里插入图片描述
  5. 然后在播放模式下点击遥控器-Active X插件,出现提示选择允许就可以了。然后点击遥控器就会出现动态图表
    Pyecharts 静态图片输出&ppt中动态图表_第9张图片
    Pyecharts 静态图片输出&ppt中动态图表_第10张图片
    PS:
    a.值得注意的是有些3D图表和一些需要用到外部协议的图表我自己测试下来是用不了的。
    b.如果开发工具的插件加载不了的需要去修改注册表,直接在注册表里面搜索到相应的ID,把16进制位数改为0就好。
    Web 浏览器控件 {8856F961-340A-11D0-A96B-00C04FD705A2}
    Microsoft Scriptlet 组件 {AE24FDAE-03C6-11D1-8B76-0080C744F389}
    HTML 编辑控件 {25336920-03F9-11CF-8FD0-00AA00686F13}

你可能感兴趣的:(可视化,python,ppt,chrome,数据可视化)