自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

螞蟻開源,又一超棒的 Python 開源可視化庫

開發(fā) 后端 開源
今天給大家推薦的這個開源項目是一個非常棒的可視化庫 -- PyG2Plot 。

PyG2Plot 可視化

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

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

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

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

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

結(jié)果興致勃勃地去看示例,這簡直買家秀與賣家秀?。?/p>

我不管,我就要右邊那個??

自己動手,豐衣足食

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

pip install pyg2plot

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

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

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

from pyg2plot import Plot

我們要畫散點圖:

scatter = Plot("Scatter")

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

import requests
#請求地址
url = "https://gw.alipayobjects.com/os/bmw-prod/0b37279d-1674-42b4-b285-29683747ad9a.json"
#發(fā)送get請求
a = requests.get(url)
#獲取返回的json數(shù)據(jù),并賦值給data
data = a.json()

成功獲取解析好的對象集合數(shù)據(jù)。

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

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中預覽的話,則執(zhí)行下方語句:

scatter.render_notebook()

如果想渲染出完整的html的話,則執(zhí)行下方語句:

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

看一下成果吧。

參數(shù)解析&完整代碼

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

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

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

參數(shù)解釋

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

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

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

③xField和yField這兩個參數(shù)分別是橫/縱向的坐標軸對應的字段。

參數(shù)解釋

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

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

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

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

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

⑧設置點的形狀,比如cicle、square

參數(shù)解釋

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

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

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

參數(shù)解釋

'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是四象限組件,具體細分配置如下:

細分配置

功能描述

xBaseline

x 方向上的象限分割基準線,默認為 0

yBaseline

y 方向上的象限分割基準線,默認為 0

labels

象限文本配置

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

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

責任編輯:龐桂玉 來源: Python技術
相關推薦

2020-03-09 09:20:32

開源技術 軟件

2020-09-07 12:42:18

表單可視化開源

2020-04-10 14:20:47

算法可視化Github

2024-02-26 12:02:37

Python數(shù)據(jù)可視化D3blocks

2020-09-02 13:56:03

Python可視化數(shù)據(jù)

2021-03-31 13:28:17

開源工具Python編程語言

2025-02-25 11:14:39

2018-01-02 11:13:20

數(shù)據(jù)可視化SupersetMetabase

2020-09-27 10:32:05

開發(fā) Github可視化

2021-06-24 13:00:35

微軟開源可視化

2013-10-18 09:56:16

開源開源代碼

2021-02-25 21:47:47

開源技術 趨勢

2023-02-20 15:09:00

可視化搭建項目開源

2024-06-06 08:27:42

2019-10-14 10:56:44

GitHub開源管理面板

2022-05-24 15:03:44

開源工具可視化

2023-09-19 15:44:03

Python數(shù)據(jù)可視化

2017-08-14 10:27:51

Web 開源可視化

2017-08-07 08:47:31

開源圖形庫數(shù)據(jù)可視化

2020-02-29 14:48:10

Python可視化
點贊
收藏

51CTO技術棧公眾號