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的文件位置,等會把驅動就放在一起。
    在這裏插入圖片描述
    驅動下載網址:http://chromedriver.storage.googleapis.com/index.html
  2. 將解壓後的Chromedriver.exe 放入谷歌瀏覽器根目錄和Python根目錄(我用的anaconda所以就是anaconda的根目錄)
    在這裏插入圖片描述
    在這裏插入圖片描述
  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中演示

  1. 打開ppt 的開發工具,在ppt選項自定義功能區裏面勾選開發工具
    在這裏插入圖片描述
  2. 在開發工具中找到Microsoft Web Browser 可以把它當做你用來播發動態圖表的“電視機”,把你的電視機選好位置和大小之後,下一步就是選擇遙控器,我這裏用的是Active X插件,右鍵屬性可以更改插件顯示的名字。
    在這裏插入圖片描述
    在這裏插入圖片描述
  3. 修改pyecharts 的html文件 渲染格式,右鍵用記事本打開,加上這句代碼把渲染修改爲IE9以上就可以了
    在這裏插入圖片描述
  4. 在ppt中雙擊之前設置好的遙控器-Active X插件,插入語句:
    WebBrowser1.Navigate (“html 的文件路徑”)
    在這裏插入圖片描述
  5. 然後在播放模式下點擊遙控器-Active X插件,出現提示選擇允許就可以了。然後點擊遙控器就會出現動態圖表
    在這裏插入圖片描述
    在這裏插入圖片描述
    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}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章