1. 繼Pyecharts之后,又一款國產(chǎn)可視化軟件

        共 3307字,需瀏覽 7分鐘

         ·

        2021-12-29 11:01


        續(xù)前篇??中國人自己的可視化利器:Pyecharts,本期分享另一個(gè)國人可視化工具PyG2Plot。

        介紹之前,先梳理下G2、G2Plot、PyG2Plot三者關(guān)系,

        • G2:一套由螞蟻集團(tuán)數(shù)據(jù)可視化團(tuán)隊(duì)(AntV)開發(fā),基于圖層圖形語法(the grammar of graphics,同ggplot2底層語法)的可視化底層高交互引擎;
        • G2Plot:基于G2封裝,力求開箱即用、易于配置、具有良好交互體驗(yàn)的JavaScript統(tǒng)計(jì)圖表庫;
        • PyG2Plot:基于G2Plot封裝的Python統(tǒng)計(jì)圖表庫,借鑒Pyecharts圖表實(shí)現(xiàn)形式,但比Pyecharts更簡練??傊珿2Plot之于PyG2Plot就如同Pyecharts之于Echarts。

        安裝

        pip?install?pyg2plot

        快速上手

        PyG2Plot是完全基于G2Plot的封裝,并且在數(shù)據(jù)結(jié)構(gòu)上,完全不做任何二次封裝,所以配置文檔上完全可以參考G2Plot官方文檔

        下面用幾個(gè)案例來說明如何參考G2Plot官方文檔,使用PyG2Plot,

        案例一、?;鶊D

        G2Plot地址:https://antv-g2plot.gitee.io/zh/examples/relation-plots/sankey#energy將上圖繪圖數(shù)據(jù)和核心代碼照抄到PyG2Plot中即可實(shí)現(xiàn)相同功能??

        #導(dǎo)入pyg2plot
        from?pyg2plot?import?Plot

        #?獲取上文G2Plot代碼中的json數(shù)據(jù),存入data
        import?requests
        data?=?requests.get(
        ????"https://gw.alipayobjects.com/os/bmw-prod/fa3414cc-75ed-47b4-8306-f2ffe8c40127.json"
        ).json()


        #?指定繪圖類別Sankey
        sankey?=?Plot("Sankey")


        #下面set_options的{}中的代碼完全照搬自G2Plot,關(guān)鍵字添加''即可,
        sankey.set_options({
        ????'height':500,
        ????'data':?data,
        ????'sourceField':?'source',
        ????'targetField':?'target',
        ????'weightField':?'value',
        ????'edgeStyle':?{
        ????????'fill':?'#ccc',
        ????????'fillOpacity':?0.4,
        ????},
        })

        #?圖像渲染
        sankey.render_notebook()

        重點(diǎn)參數(shù)都位于set_options()中,更多個(gè)性化設(shè)置參考G2Plot2文檔:https://antv-g2plot.gitee.io/zh/examples/relation-plots/sankey#energy個(gè)人感覺文檔比Pyecharts的文檔更適合人看,??API中羅列所有參數(shù)詳細(xì)說明,設(shè)計(jì)指引中詳細(xì)說明該圖表的使用場景、數(shù)據(jù)要求及設(shè)計(jì)建議,因?yàn)镚2Plot2目前還處于開發(fā)狀態(tài),有的圖表設(shè)計(jì)指引為空。
        以修改color參數(shù)為例,
        傳入色號(hào),效果圖,案例二、弦圖

        G2Plot地址:https://antv-g2plot.gitee.io/zh/examples/relation-plots/chord#chord-populationPyG2Plot中實(shí)現(xiàn)和案例一一樣,直接貼上PyG2Plot實(shí)現(xiàn)代碼,

        from?pyg2plot?import?Plot

        data?=?[
        ??{?'source':?'北京',?'target':?'天津',?'value':?30?},
        ??{?'source':?'北京',?'target':?'上海',?'value':?80?},
        ??{?'source':?'北京',?'target':?'河北',?'value':?46?},
        ??{?'source':?'北京',?'target':?'遼寧',?'value':?49?},
        ??{?'source':?'北京',?'target':?'黑龍江',?'value':?69?},
        ??{?'source':?'北京',?'target':?'吉林',?'value':?19?},
        ??{?'source':?'天津',?'target':?'河北',?'value':?62?},
        ??{?'source':?'天津',?'target':?'遼寧',?'value':?82?},
        ??{?'source':?'天津',?'target':?'上海',?'value':?16?},
        ??{?'source':?'上海',?'target':?'黑龍江',?'value':?16?},
        ??{?'source':?'河北',?'target':?'黑龍江',?'value':?76?},
        ??{?'source':?'河北',?'target':?'內(nèi)蒙古',?'value':?24?},
        ??{?'source':?'內(nèi)蒙古','?target':?'北京',?'value':?32?},
        ]

        chord?=?Plot("Chord")

        chord.set_options({
        ????'height':400,
        ??'data':?data,
        ??'sourceField':?'source',
        ??'targetField':?'target',
        ??'weightField':?'value',
        ????'theme':?{
        ????'colors10':?['#FF6B3B',?'#626681',?'#FFC100',?'#9FB40F',?'#76523B',?'#DAD5B5',?'#0E8E89',?'#E19348',?'#F383A2',?'#247FEA']
        }
        })

        chord.render_notebook()

        案例三、面積圖

        G2Plot地址:https://antv-g2plot.gitee.io/zh/examples/area/stacked#basic-sliderPyG2Plot實(shí)現(xiàn)代碼,

        from?pyg2plot?import?Plot
        import?requests

        data?=?requests.get(
        ????"https://gw.alipayobjects.com/os/bmw-prod/b21e7336-0b3e-486c-9070-612ede49284e.json"
        ).json()

        area?=?Plot("Area")

        area.set_options({
        ????'height':?500,
        ????'width':?300,
        ????'data':?data,
        ????'xField':?'date',
        ????'yField':?'value',
        ????'seriesField':?'country',
        ????'slider':?{
        ????????'start':?0.1,
        ????????'end':?0.9,
        ????},
        })

        area.render_notebook()

        更多案例

        G2Plot包含大量案例,理論上PyG2Plot都可用,


        總結(jié)

        • G2Plot還處于開發(fā)中,未來可期;
        • G2Plot在地理圖表方面很欠缺,官網(wǎng)幾乎沒有示例,看到的小伙伴可以私信一下~;
        • 和Pyechart/Echarts相比,PyG2Plot還是太稚嫩,所以,再見Pyechart、吊打Pyecharts蕓蕓還為時(shí)過早????

        進(jìn)一步學(xué)習(xí)

        https://github.com/hustcc/PyG2Plot
        https://github.com/antvis/G2Plot


        -END-

        瀏覽 51
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

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

        手機(jī)掃一掃分享

        分享
        舉報(bào)
          
          

            1. 18禁成人在线网站 | 一本色道加勒比精品一区二区 | seyu一区 | 亚洲国产成人精品无码区花野 | 在线观看中文字幕亚洲 |