一個牛逼的Python 可視化庫:PyG2Plot

G2 是螞蟻金服開源一個基於圖形語法,面向數據分析的統計圖表引擎。G2Plot 是在 G2 基礎上,屏蔽複雜概念的前提下,保留 G2 強大圖形能力,封裝出業務上經常使用的統計圖表庫。
G2Plot 是一個基於配置、體驗優雅、面向數據分析的統計圖表庫,幫助開發者以最小成本繪製高質量統計圖表。html

那麼對於不少 Python 語言環境的同窗,如何使用 G2Plot 在進行數據分析以後的可視化呢?也就是如何將 G2Plot 和 Python 結合起來?python

這裏給出的就是基於 G2Plot 封裝出 PyG2Plotgit

如何使用

pip install pyg2plot

1. 渲染出完整的 HTML

from pyg2plot import Plot line = 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. render html file named plot.html line.render("plot.html") # 2. render html string line.render_html() 

這種狀況能夠用於:github

  • 服務端 html 直出的場景
  • 生成可交互可視化分享
  • Excel 等工具嵌入的場景

2. 在 Jupyter notebook 中預覽

from pyg2plot import Plot line = 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", }) line.render_notebook() 

在咱們作數據分析教程的過程當中,能夠將咱們的數據使用 PyG2Plot 進行可視化並預覽出來,十分方便!echarts

 

開發原理

PyG2Plot 原理其實很是簡單,其中借鑑了 pyecharts 的實現,可是由於螞蟻金服的 G2Plot 徹底基於可視分析理論的配置式結構,因此封裝上比 pyecharts 簡潔很是很是多。工具

基本的原理,就是經過 Python 語法提供 API,而後再調用 render 的時候,生成最終的 G2Plot HTML 文本,而針對不一樣的環境,生成的 HTML 稍有區別。spa

因此核心文件是:code

  • plot.py:提供了 PyG2Plot 的幾乎所有 API
  • engine.py:提供了渲染 HTML 的能力,實際上是基於 jinjia2 這個模板引擎實現的,基本內容不多
  • templates:提供了全部的 jinjia2 模板文件,對於模板怎麼用,jinjia2 的文檔是很是很是詳細的

使用文檔

PyG2Plot 提供的 API 很是簡單,使用上:htm

# 1. import from pyg2plot import Plot # 2. use a plot line = Plot("Line") # 3. set_options use G2Plot line.set_options({ data, ... }) # 4. render line.render_notebook() 

而這其中 set_options API 的參數,是徹底沿用 G2Plot 的配置文檔,支持全部的圖表、功能、特性,概念和結構上不做任何修改。blog

 

最後

G2Plot和PyG2Plot的地址
https://github.com/hustcc/PyG2Plot

https://github.com/antvis/G2Plot

相關文章
相關標籤/搜索