日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
吊打Pyecharts,這個(gè)新Python繪圖庫竟然這么漂亮!

 ?[[407734]]?

創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)、云南網(wǎng)絡(luò)推廣、重慶小程序開發(fā)、云南網(wǎng)絡(luò)營銷、云南企業(yè)策劃、云南品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供云南建站搭建服務(wù),24小時(shí)服務(wù)熱線:18982081108,官方網(wǎng)址:www.cdcxhl.com

人生苦短,快學(xué)Python!

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

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

Python可視化新秀

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

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

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

??

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

在GitHub上,也提供了一張示例圖,我對(duì)右下角的散點(diǎn)圖比較感興趣。

??

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

??

我不管,我就要右邊那個(gè)

自己動(dòng)手,豐衣足食

看來還是需要自己動(dòng)手,那就先安裝PyG2Plot庫吧

 

pip install pyg2plot

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

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

于是我們可以先導(dǎo)入Plot方法

from pyg2plot import Plot

我們要畫散點(diǎn)圖

 

scatter = Plot("Scatter")

下一步就是要獲取數(shù)據(jù)和設(shè)置參數(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()

??

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

下面是對(duì)著參數(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中預(yù)覽的話,則執(zhí)行下方語句

 

scatter.render_notebook()

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

 

scatter.render("散點(diǎn)圖.html")

看一下成果吧

??

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

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

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

分成幾個(gè)部分一點(diǎn)一點(diǎn)解釋:

參數(shù)解釋 一

 

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

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

??

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

③ xField和yField這兩個(gè)參數(shù)分別是橫/縱向的坐標(biāo)軸對(duì)應(yīng)的字段。

參數(shù)解釋 二

 

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

④ 指定散點(diǎn)大小對(duì)應(yīng)的字段名,我們用的pop(人口)字段。

⑤ 指定散點(diǎn)顏色對(duì)應(yīng)的字段名,我們用的continent(洲)字段。

??

⑥ 設(shè)置散點(diǎn)的顏色,指定了系列色值。

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

⑧ 設(shè)置點(diǎn)的形狀,比如cicle、square

參數(shù)解釋 三

 

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

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

??

⑩ 這里只是設(shè)置了坐標(biāo)軸線的顏色。

參數(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是四象限組件,具體細(xì)分配置如下:

細(xì)分配置

功能描述

xBaseline

x 方向上的象限分割基準(zhǔn)線,默認(rèn)為 0

yBaseline

y 方向上的象限分割基準(zhǔn)線,默認(rèn)為 0

labels

象限文本配置

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

??

PyG2Plot 原理其實(shí)非常簡單,其中借鑒了 pyecharts 的實(shí)現(xiàn),但是因?yàn)槲浵伣鸱?G2Plot 完全基于可視分析理論的配置式結(jié)構(gòu),所以封裝上比 pyecharts 簡潔非常非常多。

完整代碼

如果有小伙伴對(duì)本文代碼感興趣,后臺(tái)回復(fù)數(shù)字“101” ,即可獲取全部代碼!

 

 


名稱欄目:吊打Pyecharts,這個(gè)新Python繪圖庫竟然這么漂亮!
網(wǎng)頁地址:http://www.dlmjj.cn/article/dpegehp.html