【Python】吊打pyecharts,又一超级棒的开源可视化库
今天給大家推薦的這個開源項目是一個非常棒的可視化庫。
這個開源項目就是:PyG2Plot 。
首先介紹下 G2Plot,G2Plot是螞蟻集團開源的一個基于圖表分類學的可視分析圖表庫,內置 25+ 常見圖表類型,簡單、易用、并具備一定擴展能力和組合能力的統計圖表庫,基于圖形語法理論搭建而成。
再說 PyG2Plot,它是 @AntV/G2Plot 在 Python3 上的封裝,并且在數據結構上,完全不做任何二次封裝,所以配置文檔上完全可以參考 G2Plot 官方文檔,從而降低自己維護成本,以及開發者的學習上手成本。
安裝和使用都非常簡單,如下:
1、安裝
pip?install?pyg2plot2、使用方法
渲染成 HTML
from?pyg2plot?import?Plotline?=?Plot("Line")line.set_options({"data":?[{?"year":?"1991",?"value":?3?},{?"year":?"1992",?"value":?4?},{?"year":?"1993",?"value":?3.5?},{?"year":?"1994",?"value":?5?},{?"year":?"1995",?"value":?4.9?},{?"year":?"1996",?"value":?6?},{?"year":?"1997",?"value":?7?},{?"year":?"1998",?"value":?9?},{?"year":?"1999",?"value":?13?},],"xField":?"year","yField":?"value", })#?1.?渲染成?html?文件 line.render("plot.html") #?2.?渲染成?html?字符串 line.render_html()在 Jupyter 中使用
from?pyg2plot?import?Plotline?=?Plot("Line")line.set_options({"height":?400,?#?set?a?default?height?in?jupyter?preview"data":?[{?"year":?"1991",?"value":?3?},{?"year":?"1992",?"value":?4?},{?"year":?"1993",?"value":?3.5?},{?"year":?"1994",?"value":?5?},{?"year":?"1995",?"value":?4.9?},{?"year":?"1996",?"value":?6?},{?"year":?"1997",?"value":?7?},{?"year":?"1998",?"value":?9?},{?"year":?"1999",?"value":?13?},],"xField":?"year","yField":?"value",
})#?1.?渲染到?notebook
line.render_notebook()#?2.?渲染到?jupyter?lab
line.render_jupyter_lab()
目前 pyg2plot 只提供簡單的一個 API:Plot,使用方法如下:
Plot(plot_type: str): 獲取 Plot 對應的類實例。
plot.set_options(options: object): 給圖表實例設置一個 G2Plot 圖形的配置,文檔可以直接參考 G2Plot 官網,未進行任何二次數據結構包裝。
plot.render(path, env, **kwargs): 渲染出一個 HTML 文件,同時可以傳入文件的路徑,以及 jinja2 env 和 kwargs 參數。
plot.render_notebook(env, **kwargs): 將圖形渲染到 jupyter 的預覽。
plot.render_jupyter_lab(env, **kwargs): 將圖形渲染到 jupyter lab 的預覽。
plot.render_html(env, **kwargs): 渲染出 HTML 字符串,同時可以傳入 jinja2 env 和 kwargs 參數。
plot.dump_js_options(env, **kwargs): 輸出 Javascript 的 option 配置結構,同時可以傳入 jinja2 env 和 kwargs 參數,可以用于 Server 中的 HTTP 結構返回數據結構。
3、支持圖表
pyg2plot 支持很多類型的圖表,非常好用,效果圖如下:
舉幾個例子,下面是分別是面積圖、柱形圖、雙軸圖,可以看到可視化效果是非常棒的。
更多圖表樣式的繪制可參考:https://github.com/hustcc/PyG2Plot/blob/main/docs/plot.md
4、技術原理
PyG2Plot 原理其實非常簡單,其中借鑒了 pyecharts 的實現,但是因為螞蟻金服的 G2Plot 完全基于可視分析理論的配置式結構,所以封裝上比 pyecharts 簡潔非常非常多。
基本的原理,就是通過 Python 語法提供 API,然后在調用 render 的時候,生成最終的 G2Plot HTML 文本,而針對不同的環境,生成的 HTML 稍有區別。
針對 HTML 生成,則直接使用正常的 html 模板,然后 script 引入 G2Plot 資源,生成 G2Plot 的 JavaScript 代碼,渲染即可
針對 Jupyter 環境,生成的的內容中比較特殊的時候,使用 requireJS 去加載 G2Plot 資源,后續的邏輯一致
這個原理可以理解是所有的語種封裝 JavaScript 模塊的統一做法。
所以對于 PyG2Plot,核心文件是:
plot.py:提供了 PyG2Plot 的幾乎全部 API
engine.py:提供了渲染 HTML 的能力,其實是基于 jinja2 這個模板引擎實現的
templates:提供了所有的 jinja2 模板文件,對于模板怎么用,jinja2 的文檔是非常非常詳細的
開源項目地址:https://github.com/hustcc/PyG2Plot
開源項目作者:hustcc
往期精彩回顧適合初學者入門人工智能的路線及資料下載機器學習及深度學習筆記等資料打印機器學習在線手冊深度學習筆記專輯《統計學習方法》的代碼復現專輯 AI基礎下載機器學習的數學基礎專輯 本站qq群851320808,加入微信群請掃碼:尾汁
?
?
總結
以上是生活随笔為你收集整理的【Python】吊打pyecharts,又一超级棒的开源可视化库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何管理QQ浏览器的扩展工具 QQ浏览器
- 下一篇: Win11系统调节屏幕亮度的方法