G2 是螞蟻金服開源一個基于圖形語法,面向資料分析的統計圖表引擎,G2Plot 是在 G2 基礎上,屏蔽復雜概念的前提下,保留 G2 強大圖形能力,封裝出業務上常用的統計圖表庫,
G2Plot 是一個基于配置、體驗優雅、面向資料分析的統計圖表庫,幫助開發者以最小成本繪制高質量統計圖表,
那么對于很多 Python 語言環境的同學,如何使用 G2Plot 在進行資料分析之后的可視化呢?也就是如何將 G2Plot 和 Python 結合起來?
這里給出的就是基于 G2Plot 封裝出 PyG2Plot
如何使用
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()
這種情況可以用于:
- 服務端 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 進行可視化并預覽出來,十分方便!
開發原理
PyG2Plot 原理其實非常簡單,其中借鑒了 pyecharts 的實作,但是因為螞蟻金服的 G2Plot 完全基于可視分析理論的配置式結構,所以封裝上比 pyecharts 簡潔非常非常多,
基本的原理,就是通過 Python 語法提供 API,然后再呼叫 render 的時候,生成最終的 G2Plot HTML 文本,而針對不同的環境,生成的 HTML 稍有區別,
所以核心檔案是:
- plot.py:提供了 PyG2Plot 的幾乎全部 API
- engine.py:提供了渲染 HTML 的能力,其實是基于 jinjia2 這個模板引擎實作的,基本內容很少
- templates:提供了所有的 jinjia2 模板檔案,對于模板怎么用,jinjia2 的檔案是非常非常詳細的
使用檔案
PyG2Plot 提供的 API 非常簡單,使用上:
# 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 的配置檔案,支持所有的圖表、功能、特性,概念和結構上不作任何修改,
最后
G2Plot和PyG2Plot的地址
https://github.com/hustcc/PyG2Plot
https://github.com/antvis/G2Plot
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/263224.html
標籤:其他
上一篇:Java中zip的壓縮和解壓縮
