精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

一個非常棒的可視化庫:PyG2Plot

科技綠洲 ? 來源:Python實用寶典 ? 作者:Python實用寶典 ? 2023-10-21 11:32 ? 次閱讀

給大家推薦的這個開源項目是一個非常棒的可視化庫 -- PyG2Plot 。

PyG2Plot 可視化

這個Python可視化新秀,在GitHub上是這樣介紹的:

PyG2Plot 是@AntV/G2PlotPython3 上的封裝。G2Plot 是一套簡單、易用、并具備一定擴展能力和組合能力的統計圖表庫,基于圖形語法理論搭建而成。

不過研究PyG2Plot還得先從G2開始講,它是螞蟻金服開源一個基于圖形語法,面向數據分析的統計圖表引擎。后來又在其基礎上,封裝出業務上常用的統計圖表庫——G2Plot。

圖片

不過現在Python這么熱,幾乎每一個nb的前端可視化庫,最終都會被用python開發一套生成相應html的庫!它也不例外,封裝出了Python可視化庫——PyG2Plot

在GitHub上,也提供了一張示例圖,我對右下角的散點圖比較感興趣。

圖片

結果興致勃勃地去看示例,這簡直買家秀與賣家秀??!

圖片

我不管,我就要右邊那個

自己動手,豐衣足食

看來還是需要自己動手,那就先安裝PyG2Plot庫吧

pip install pyg2plot

目前目前 pyg2plot 只提供簡單的一個 API,只列出需要的參數

  • Plot
  1. Plot(plot_type: str) : 獲取 Plot 對應的類實例。
  2. plot.set_options(options: object) : 給圖表實例設置一個 G2Plot 圖形的配置。
  3. *plot.render(path, env, *kwargs) : 渲染出一個 HTML 文件,同時可以傳入文件的路徑,以及 jinja2 env 和 kwargs 參數。
  4. *plot.render_notebook(env, *kwargs) : 將圖形渲染到 jupyter 的預覽。

于是我們可以先導入Plot方法

from pyg2plot import Plot

我們要畫散點圖

scatter = Plot("Scatter")

下一步就是要獲取數據和設置參數plot.set_options(),這里獲取數據直接利用requset解析案例json,而參數讓我在后面一一道來:

import requests

#請求地址
url = "https://gw.alipayobjects.com/os/bmw-prod/0b37279d-1674-42b4-b285-29683747ad9a.json"

#發送get請求
a = requests.get(url)

#獲取返回的json數據,并賦值給data
data = a.json()

圖片

成功獲取解析好的對象集合數據。

下面是對著參數,一頓操作猛如虎:

scatter.set_options(
{
    'appendPadding': 30,
    'data': data,
    'xField': 'change in female rate',
    'yField': 'change in male rate',
    'sizeField': 'pop',
    'colorField': 'continent',
    'color': ['#ffd500', '#82cab2', '#193442', '#d18768','#7e827a'],
    'size': [4, 30],
    'shape': 'circle',
    'pointStyle':{'fillOpacity': 0.8,'stroke': '#bbb'},
    'xAxis':{'line':{'style':{'stroke': '#aaa'}},},
    'yAxis':{'line':{'style':{'stroke': '#aaa'}},},
    'quadrant':{
        'xBaseline': 0,
        'yBaseline': 0,
        'labels': [
        {'content': 'Male decrease,nfemale increase'},
        {'content': 'Female decrease,nmale increase'},
        {'content': 'Female & male decrease'},
        {'content': 'Female &n male increase'}, ],},
})

如果在Jupyter notebook中預覽的話,則執行下方語句

scatter.render_notebook()

如果想渲染出完整的html的話,則執行下方語句

scatter.render("散點圖.html")

看一下成果吧

圖片

參數解析&完整代碼

各位看官,這塊可能比較無聊,可以直接劃到文末或者點擊收藏。

主要還是詳解一下剛才scatter.set_options()里的參數,方便大家后續自己改造!

分成幾個部分一點一點解釋:

參數解釋

'appendPadding': 30, #①
'data': data, #②
'xField': 'change in female rate', #③
'yField': 'change in male rate',

①圖表在上右下左的間距,加不加這個參數具體看下圖

圖片

②設置圖表數據源(其中data在前面已經賦值了),這里的數據源為對象集合,例如:[{ time: '1991',value: 20 }, { time: '1992',value: 20 }]。

xFieldyField這兩個參數分別是橫/縱向的坐標軸對應的字段。

參數解釋

'sizeField': 'pop', #④
'colorField': 'continent', #⑤
'color': ['#ffd500', '#82cab2', '#193442', '#d18768','#7e827a'], #⑥
'size': [4, 30], #⑦
'shape': 'circle', #⑧

④指定散點大小對應的字段名,我們用的pop(人口)字段。

⑤指定散點顏色對應的字段名,我們用的continent(洲)字段。

圖片

⑥設置散點的顏色,指定了系列色值。

⑦設置散點的大小,可以指定大小數組 [minSize, maxSize]

⑧設置點的形狀,比如ciclesquare

參數解釋

'pointStyle':{'fillOpacity': 0.8,'stroke': '#bbb'}, #⑨
'xAxis':{'line':{'style':{'stroke': '#aaa'}},}, #⑩
'yAxis':{'line':{'style':{'stroke': '#aaa'}},},

pointStyle是指折線樣式,不過在散點圖里,指的是散點的描邊。另外fillOpacity是設置透明度,stroke是設置描邊顏色。

圖片

⑩這里只是設置了坐標軸線的顏色。

參數解釋

'quadrant':{
    'xBaseline': 0,
    'yBaseline': 0,
    'labels': [
    {'content': 'Male decrease,nfemale increase'},
    {'content': 'Female decrease,nmale increase'},
    {'content': 'Female & male decrease'},
    {'content': 'Female &n male increase'}, ],},

quadrant是四象限組件,具體細分配置如下:

細分配置功能描述
xBaselinex 方向上的象限分割基準線,默認為 0
yBaseliney 方向上的象限分割基準線,默認為 0
labels象限文本配置

PyG2Plot的介紹文檔還不完善,上文中的很多參數是摸索的,大家作為參考就好。

圖片

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 數據
    +關注

    關注

    8

    文章

    6890

    瀏覽量

    88826
  • 參數
    +關注

    關注

    11

    文章

    1784

    瀏覽量

    32086
  • 可視化
    +關注

    關注

    1

    文章

    1177

    瀏覽量

    20889
  • PyG2Plot
    +關注

    關注

    0

    文章

    2

    瀏覽量

    18
收藏 人收藏

    評論

    相關推薦

    可視化MES系統軟件

    進行篩選、分析和控制,因此,利用可視化技術將其轉化為圖表、圖像和表格等形式展示,便于管理者有效分析、控制和管理。(2可視化交互方面。車間的裝配質量管理系統和過程控制管理系統交互性差,只能管理者單方面
    發表于 11-30 19:55

    如何把AD中非可視化區域物件移到可視化區域?

    AD中非可視化區域物件怎么移到可視化區域???
    發表于 09-10 05:36

    基于STM的可視化門禁系統

    基于STM的可視化門禁系統
    發表于 03-07 09:49

    基于stm的可視化門禁系統

    基于stm的可視化門禁系統
    發表于 03-11 09:23

    15玩轉數據可視化的技巧

    高手總結的15技巧,讓你輕松玩轉數據可視化
    發表于 05-22 09:59

    Python數據可視化

    Python數據可視化:網易云音樂歌單
    發表于 07-19 08:30

    三維可視化的應用和優勢

    ?! ∪缭O備出現問題,可以更加直觀的通過三維可視化運維系統發現,因為會在系統內出現數據異常,甚至可以通過設置相對的閾值來進行提醒,使得設備出現問題后能夠第時間發現,減少維修時間和開支。提升設備的工作效率
    發表于 12-02 11:52

    常見的幾種可視化介紹

    說說常見的幾種可視化、信息可視化信息可視化就是對抽象數據進行直觀視覺呈現的研究,抽象數據既包含數值數據,也包含非數值數據如文本信息、地圖信息等,它們可通過利用圖形圖像處理、人機交互、
    發表于 07-12 07:49

    Keras可視化神經網絡架構的4種方法

    解模型結構、激活函數、模型參數形狀(神經元數量)等keras 中有些現成的包可以創建我們的神經網絡模型的可視化表示。前三包可以在模型訓練之前使用(只需要定義和編譯模型);但是Tensor
    發表于 11-02 14:55

    經驗分享|BI數據可視化報表布局——容器

    設置。2、放大容器點擊右側的【專有】,將看到【允許放大容器】的開關。這是什么功能?關閉該開關,表示可以放大容器以及容器內的圖表;開啟
    發表于 03-15 17:10

    keras可視化介紹

    (LR), 縱向顯示(TB) expand_nested=False,# 是否將嵌套模型擴展到聚類中 dpi=96 )4 訓練歷史可視化 Keras Model 上的 fit() 方法返回
    發表于 08-18 07:53

    Pyecharts制作可視化大屏詳解

    前兩天發了篇《用Python制作可視化大屏,特簡單!》,留言區非常火爆,發現大家都對可視化部分非常感興趣。 而恰好大屏
    的頭像 發表于 10-26 09:42 ?3506次閱讀
    Pyecharts制作<b class='flag-5'>可視化</b>大屏詳解

    使用Python來收集、處理和可視化人口數據

    數據分析和可視化: pandas:提供高性能、易用的數據結構和數據分析工具的。 requests:
    的頭像 發表于 06-21 17:08 ?1335次閱讀
    使用Python來收集、處理和<b class='flag-5'>可視化</b>人口數據

    分享10適用于多個學科的Python數據可視化

    matplotlib 是Python可視化程序的泰斗。經過十幾年它任然是Python使用者最常用的畫圖庫。它的設計和在1980年代被設計的商業程序語言MATLAB非常接近。
    的頭像 發表于 08-14 10:40 ?771次閱讀
    分享10<b class='flag-5'>個</b>適用于多個學科的Python數據<b class='flag-5'>可視化</b><b class='flag-5'>庫</b>

    Altair:漂亮易用的數據可視化

    Altair 是基于Jupyter Notebook的強大可視化。它提供了強大而簡潔的可視化語法,使我們能夠快速構建各種統計
    的頭像 發表于 10-21 10:43 ?880次閱讀
    Altair:<b class='flag-5'>一</b><b class='flag-5'>個</b>漂亮易用的數據<b class='flag-5'>可視化</b><b class='flag-5'>庫</b>