<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

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

          共 2408字,需瀏覽 5分鐘

           ·

          2021-03-02 13:11

          G2 是螞蟻金服開源一個基于圖形語法,面向數(shù)據(jù)分析的統(tǒng)計圖表引擎。G2Plot 是在 G2 基礎(chǔ)上,屏蔽復(fù)雜概念的前提下,保留 G2 強大圖形能力,封裝出業(yè)務(wù)上常用的統(tǒng)計圖表庫。

          G2Plot 是一個基于配置、體驗優(yōu)雅、面向數(shù)據(jù)分析的統(tǒng)計圖表庫,幫助開發(fā)者以最小成本繪制高質(zhì)量統(tǒng)計圖表。

          那么對于很多 Python 語言環(huán)境的同學(xué),如何使用 G2Plot 在進行數(shù)據(jù)分析之后的可視化呢?也就是

          如何將 G2Plot 和 Python 結(jié)合起來?這里給出的就是基于 G2Plot 封裝出 PyG2Plot,歡迎幫我充一下 Star。

          如何使用

          pip install pyg2plot

          主要有 2 種使用方式(能力擴充中,歡迎提 issue)

          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()

          這種情況可以用于:

          • 服務(wù)端 html 直出的場景

          • 生成可交互可視化分享

          • Excel 等工具嵌入的場景

          2. 在 Jupyter notebook 中預(yù)覽

          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()

          在我們做數(shù)據(jù)分析教程的過程中,可以將我們的數(shù)據(jù)使用 PyG2Plot 進行可視化并預(yù)覽出來,十分方便!


          開發(fā)原理

          PyG2Plot 原理其實非常簡單,其中借鑒了 pyecharts 的實現(xiàn),但是因為螞蟻金服的 G2Plot 完全基于可視分析理論的配置式結(jié)構(gòu),所以封裝上比 pyecharts 簡潔非常非常多。

          基本的原理,就是通過 Python 語法提供 API,然后再調(diào)用 render 的時候,生成最終的 G2Plot HTML 文本,而針對不同的環(huán)境,生成的 HTML 稍有區(qū)別。

          所以核心文件是:

          • plot.py:提供了 PyG2Plot 的幾乎全部 API

          • engine.py:提供了渲染 HTML 的能力,其實是基于 jinjia2 這個模板引擎實現(xiàn)的,基本內(nèi)容很少

          • 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 的參數(shù),是完全沿用 G2Plot 的配置文檔,支持所有的圖表、功能、特性,概念和結(jié)構(gòu)上不作任何修改。

          最后

          歡迎給個 Star ?♂?  有任何的特性支持和 bug 反饋,歡迎 issue 或者 PR。

          https://github.com/hustcc/PyG2Plot

          https://github.com/antvis/G2Plot

          給上方的兩個項目或者點擊閱讀原文給個Star吧!

          瀏覽 61
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  欧美日韩小电影 | 做爱高清网站 | 日韩一级片中文字幕 | 无码乱伦视频 | 亚拍一区|