<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】吊打pyecharts,又一超級(jí)棒的開源可視化庫

          共 4057字,需瀏覽 9分鐘

           ·

          2021-03-27 11:06


          今天給大家推薦的這個(gè)開源項(xiàng)目是一個(gè)非常棒的可視化庫。

          這個(gè)開源項(xiàng)目就是:PyG2Plot

          首先介紹下 G2Plot,G2Plot是螞蟻集團(tuán)開源的一個(gè)基于圖表分類學(xué)的可視分析圖表庫,內(nèi)置 25+ 常見圖表類型,簡單、易用、并具備一定擴(kuò)展能力和組合能力的統(tǒng)計(jì)圖表庫,基于圖形語法理論搭建而成。

          再說 PyG2Plot,它是 @AntV/G2Plot 在 Python3 上的封裝,并且在數(shù)據(jù)結(jié)構(gòu)上,完全不做任何二次封裝,所以配置文檔上完全可以參考 G2Plot 官方文檔,從而降低自己維護(hù)成本,以及開發(fā)者的學(xué)習(xí)上手成本。

          安裝和使用都非常簡單,如下:

          1、安裝

          pip install pyg2plot

          2、使用方法

          渲染成 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. 渲染成 html 文件
          line.render("plot.html")
          # 2. 渲染成 html 字符串
          line.render_html()

          在 Jupyter 中使用

          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",
          })

          # 1. 渲染到 notebook
          line.render_notebook()

          # 2. 渲染到 jupyter lab
          line.render_jupyter_lab()

          目前 pyg2plot 只提供簡單的一個(gè) API:Plot,使用方法如下:

          1. Plot(plot_type: str): 獲取 Plot 對(duì)應(yīng)的類實(shí)例。

          2. plot.set_options(options: object): 給圖表實(shí)例設(shè)置一個(gè) G2Plot 圖形的配置,文檔可以直接參考 G2Plot 官網(wǎng),未進(jìn)行任何二次數(shù)據(jù)結(jié)構(gòu)包裝。

          3. plot.render(path, env, **kwargs): 渲染出一個(gè) HTML 文件,同時(shí)可以傳入文件的路徑,以及 jinja2 env 和 kwargs 參數(shù)。

          4. plot.render_notebook(env, **kwargs): 將圖形渲染到 jupyter 的預(yù)覽。

          5. plot.render_jupyter_lab(env, **kwargs): 將圖形渲染到 jupyter lab 的預(yù)覽。

          6. plot.render_html(env, **kwargs): 渲染出 HTML 字符串,同時(shí)可以傳入 jinja2 env 和 kwargs 參數(shù)。

          7. plot.dump_js_options(env, **kwargs): 輸出 Javascript 的 option 配置結(jié)構(gòu),同時(shí)可以傳入 jinja2 env 和 kwargs 參數(shù),可以用于 Server 中的 HTTP 結(jié)構(gòu)返回?cái)?shù)據(jù)結(jié)構(gòu)。

          3、支持圖表

          pyg2plot 支持很多類型的圖表,非常好用,效果圖如下:

          舉幾個(gè)例子,下面是分別是積圖、柱形圖、圖,可以看到可視化效果是非常棒的。
          更多圖表樣式的繪制可參考:https://github.com/hustcc/PyG2Plot/blob/main/docs/plot.md

          4、技術(shù)原理

          PyG2Plot 原理其實(shí)非常簡單,其中借鑒了 pyecharts 的實(shí)現(xiàn),但是因?yàn)槲浵伣鸱?G2Plot 完全基于可視分析理論的配置式結(jié)構(gòu),所以封裝上比 pyecharts 簡潔非常非常多。
          基本的原理,就是通過 Python 語法提供 API,然后在調(diào)用 render 的時(shí)候,生成最終的 G2Plot HTML 文本,而針對(duì)不同的環(huán)境,生成的 HTML 稍有區(qū)別。
          • 針對(duì) HTML 生成,則直接使用正常的 html 模板,然后 script 引入 G2Plot 資源,生成 G2Plot 的 JavaScript 代碼,渲染即可

          • 針對(duì) Jupyter 環(huán)境,生成的的內(nèi)容中比較特殊的時(shí)候,使用 requireJS 去加載 G2Plot 資源,后續(xù)的邏輯一致

          這個(gè)原理可以理解是所有的語種封裝 JavaScript 模塊的統(tǒng)一做法。
          所以對(duì)于 PyG2Plot,核心文件是:
          • plot.py:提供了 PyG2Plot 的幾乎全部 API

          • engine.py:提供了渲染 HTML 的能力,其實(shí)是基于 jinja2 這個(gè)模板引擎實(shí)現(xiàn)的

          • templates:提供了所有的 jinja2 模板文件,對(duì)于模板怎么用,jinja2 的文檔是非常非常詳細(xì)的

          開源項(xiàng)目地址:https://github.com/hustcc/PyG2Plot
          開源項(xiàng)目作者:hustcc

          往期精彩回顧





          本站qq群851320808,加入微信群請(qǐng)掃碼:

          尾汁
          ?
          ?
          瀏覽 59
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <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>
                  国产亲子伦亲子伦 | 91视频久久久久久 | 操逼视频亚洲 | 一起草视频污在线观看视频 | 女人操女人一级毛片 |