成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

吊打 Pyecharts,這個新 Python 繪圖庫竟然這么漂亮!

開發 后端
經過小五一番測試成功復現了其中一個示例圖片,還很精致。今天正好把完整過程分享給大家,看看這個新庫繪圖也可以這么漂亮!

 ?[[407734]]?

人生苦短,快學Python!

最近看了一篇文章《一個牛逼的Python 可視化庫:PyG2Plot》,可惜只是簡單介紹,并且只有一個簡陋的官方示例。

經過小五一番測試成功復現了其中一個示例圖片,還很精致。今天正好把完整過程分享給大家,看看這個新庫繪圖也可以這么漂亮!

Python可視化新秀

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

PyG2Plot 是@AntV/G2Plot 在 Python3 上的封裝。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 }]。

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

參數解釋 二

 

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

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

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

??

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

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

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

參數解釋 三

 

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

細分配置

功能描述

xBaseline

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

yBaseline

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

labels

象限文本配置

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

??

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

完整代碼

如果有小伙伴對本文代碼感興趣,后臺回復數字“101” ,即可獲取全部代碼!

 

 

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

2021-11-26 00:01:26

可視化AP I數據

2022-10-10 10:14:38

Python繪圖庫

2020-07-28 08:48:49

Python繪圖工具

2020-09-10 14:14:02

Python散點圖分割線

2020-09-23 16:05:42

Python手繪圖表編程語言

2023-02-07 11:44:02

2024-09-27 11:38:49

2022-01-07 14:20:12

Python命令工具

2020-08-14 08:19:25

Shell命令行數據

2021-08-30 11:40:06

PythonSeaborn可視化

2020-10-13 08:51:55

Python開發可視化動圖

2021-02-05 06:01:31

Windows10操作系統微軟

2021-11-22 17:55:56

Python 開發編程語言

2024-10-09 09:07:10

JVM優化String類JDK1.6

2021-05-30 22:53:05

Go1.17版本 tip

2020-06-01 08:04:18

三目運算符代碼

2024-04-29 09:38:16

2023-01-12 16:57:39

ChatGPT

2021-02-03 20:19:08

Istio流量網格

2020-06-19 13:53:47

BokehPython繪圖
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲激情视频在线 | 亚洲一区中文字幕 | 成人免费观看视频 | 69av网| 日本久久久久久 | 国产精品福利视频 | 久久国产成人精品国产成人亚洲 | 国产高清视频一区 | 超碰av在线 | 欧美日韩成人一区二区 | 中文字幕亚洲视频 | 国产高清无av久久 | 中文字幕日韩欧美一区二区三区 | 中文字幕在线看人 | 日本成人片在线观看 | 国内91在线 | 天天夜夜操 | 午夜av免费| 久久精品国产清自在天天线 | 亚洲免费一区二区 | 日韩高清一区 | 精品美女久久久 | 日韩在线中文 | 国产精品一区二区不卡 | 成人1区2区 | 美女视频三区 | 欧美激情视频一区二区三区免费 | 精品在线一区 | 日韩欧美中文字幕在线观看 | 日本又色又爽又黄又高潮 | 亚洲精品一区二区冲田杏梨 | 精品入口麻豆88视频 | 国产精品国产三级国产aⅴ无密码 | 91免费视频| 免费在线视频精品 | 在线观看国产精品视频 | 狠狠躁夜夜躁人人爽天天高潮 | 久艹网站| 精品亚洲一区二区三区 | 国产精品亚洲综合 | 在线播放国产一区二区三区 |