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

          吊打pyecharts,又一超級(jí)棒的開(kāi)源可視化庫(kù)

          共 4193字,需瀏覽 9分鐘

           ·

          2021-08-27 14:02

          大家好,我是老表。

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

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

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

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

          安裝和使用都非常簡(jiǎn)單,如下:

          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 只提供簡(jiǎn)單的一個(gè) API:Plot,使用方法如下:

          1. Plot(plot_type: str): 獲取 Plot 對(duì)應(yīng)的類(lèi)實(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 支持很多類(lèi)型的圖表,非常好用,效果圖如下:

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

          4、技術(shù)原理

          PyG2Plot 原理其實(shí)非常簡(jiǎn)單,其中借鑒了 pyecharts 的實(shí)現(xiàn),但是因?yàn)槲浵伣鸱?G2Plot 完全基于可視分析理論的配置式結(jié)構(gòu),所以封裝上比 pyecharts 簡(jiǎn)潔非常非常多。
          基本的原理,就是通過(guò) Python 語(yǔ)法提供 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è)原理可以理解是所有的語(yǔ)種封裝 JavaScript 模塊的統(tǒng)一做法。
          所以對(duì)于 PyG2Plot,核心文件是:
          • plot.py:提供了 PyG2Plot 的幾乎全部 API

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

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

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

          --END--



          掃碼即可加我微信

          老表朋友圈經(jīng)常有贈(zèng)書(shū)/紅包福利活動(dòng)

          新玩法,以后每篇技術(shù)文章,點(diǎn)贊超過(guò)100+,我將在個(gè)人視頻號(hào)直播帶大家一起進(jìn)行項(xiàng)目實(shí)戰(zhàn)復(fù)現(xiàn),快嘎嘎點(diǎn)贊吧!!!

          直播將在我的視頻號(hào):老表Max 中開(kāi)展,掃上方二維碼添加我微信即可查看我的視頻號(hào)。


          大家的 點(diǎn)贊、留言、轉(zhuǎn)發(fā)是對(duì)號(hào)主的最大支持。



          學(xué)習(xí)更多:
          整理了我開(kāi)始分享學(xué)習(xí)筆記到現(xiàn)在超過(guò)250篇優(yōu)質(zhì)文章,涵蓋數(shù)據(jù)分析、爬蟲(chóng)、機(jī)器學(xué)習(xí)等方面,別再說(shuō)不知道該從哪開(kāi)始,實(shí)戰(zhàn)哪里找了

          點(diǎn)贊”就是對(duì)博主最大的支持 

          ?
          ?
          瀏覽 24
          點(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>
                  性欧美18 | 日皮免费视频 | 无码AV电影 | 成人性交无码 | 成人精品一区二区区别解析 |