Python可視化工具如何實(shí)現(xiàn)動(dòng)態(tài)圖表
本文的文字及圖片來(lái)源于網(wǎng)絡(luò),僅供學(xué)習(xí)、交流使用,不具有任何商業(yè)用途,版權(quán)歸原作者所有,如有問(wèn)題請(qǐng)及時(shí)聯(lián)系我們以作處理
以下文章來(lái)源于菜J學(xué)Python ,作者J哥
前言
這次呢,我想講講地圖可視化的內(nèi)容,以前我也寫(xiě)過(guò)用Python的內(nèi)置庫(kù)繪制地圖,但總感覺(jué)不夠美觀。如何才能在短時(shí)間內(nèi)制作漂亮的可視化地圖呢,我覺(jué)得Python+可視化工具是不錯(cuò)的選擇。
以下動(dòng)態(tài)可視化地圖就是J哥親手繪制,展現(xiàn)了一段時(shí)間內(nèi)廣州市企事業(yè)單位在網(wǎng)上商城采購(gòu)商品的分布及隨時(shí)間的變化。

接下來(lái),將手把手教你如何繪制這個(gè)動(dòng)態(tài)圖,您可在公眾號(hào)后臺(tái)回復(fù)「kepler」獲取數(shù)據(jù)集進(jìn)行測(cè)試。
數(shù)據(jù)準(zhǔn)備
第一步,打開(kāi)并預(yù)覽一下數(shù)據(jù)集,共766條采購(gòu)記錄,包含采購(gòu)時(shí)間、采購(gòu)單位和采購(gòu)金額3個(gè)字段。
1df=pd.read_excel('cc.xls',index=False)2df.head()

第二步,根據(jù)采購(gòu)單位字段獲取經(jīng)緯度,批量獲取經(jīng)緯度的方法很多,詳情可參考「用Python評(píng)測(cè)三種批量查詢經(jīng)緯度的方法,你pick哪一種?」。
def gaode(addr):
para = {
'key':'你的',
'address':addr
}
url = 'https://restapi.amap.com/v3/geocode/geo?'
req = requests.get(url,para)
req = req.json()
print('-' * 30)
if req['status']=='1':
if len(req['geocodes']) > 0:
m = req['geocodes'][0]['location']
print(m)
else:
print("None")
m = ""
else:
print("None")
return m
gaode(addr="廣州")
應(yīng)用以上函數(shù)并預(yù)覽數(shù)據(jù)
df['lat_lon'] = df['buyer'].apply(gaode)
df.head()

第三步,對(duì)經(jīng)緯度字段分列并存儲(chǔ)為csv格式。
df["lat"] = df["lat_lon"].str.split(',',expand=True)[1]
df["lon"] = df["lat_lon"].str.split(',',expand=True)[0]
df = df.drop('lat_lon',axis=1)
df.to_csv('cc.csv',index=False)
簡(jiǎn)單三步數(shù)據(jù)準(zhǔn)備完畢,數(shù)據(jù)預(yù)覽如下:

數(shù)據(jù)可視化
將以上數(shù)據(jù)可視化到地圖中的方法也有很多,比如Ecahrts、高德地圖可視化平臺(tái)、地圖無(wú)憂等,本次主要介紹kepler.gl。
kepler.gl是由Uber開(kāi)發(fā)的進(jìn)行空間數(shù)據(jù)可視化的開(kāi)源工具,是Uber內(nèi)部進(jìn)行空間數(shù)據(jù)可視化的默認(rèn)工具,通過(guò)其面向Python開(kāi)放的接口包keplergl,我們可以在 jupyter notebook 中通過(guò)書(shū)寫(xiě)Python代碼的方式傳入多種格式的數(shù)據(jù),在其嵌入notebook的交互窗口中使用其內(nèi)建的多種豐富的空間數(shù)據(jù)可視化功能??梢宰屇悴恍枰魏尉幊袒A(chǔ),即可實(shí)現(xiàn)數(shù)據(jù)地圖的可視化。Kepler.gl 支持的數(shù)據(jù)格式:CSV、GeoJson 和Json。
一、Jupyter中可視化
1.本地安裝
pipinstallkeplergl
注:Windows用戶建議conda安裝,否則很可能報(bào)錯(cuò)。
2.加載地圖和數(shù)據(jù)

二、在線網(wǎng)站中可視化(推薦)
當(dāng)然,你也可以直接在kepler官網(wǎng)中上傳數(shù)據(jù)操作,但官網(wǎng)速度較慢,建議用如下網(wǎng)站操作:
http://map.guihuayun.com/ #規(guī)劃云網(wǎng)站搭的一個(gè)鏡像
打開(kāi)網(wǎng)站后,首先將cc.csv數(shù)據(jù)集添加進(jìn)來(lái)。

添加好數(shù)據(jù)后,可以根據(jù)自己的喜好進(jìn)行圖標(biāo)顏色、大小、地圖樣式等參數(shù)設(shè)置。
1.圖標(biāo)設(shè)置

2.地圖樣式更改

3.添加城市輪廓
城市輪廓數(shù)據(jù)可以在DATAV.GeoAtlas網(wǎng)站進(jìn)行獲取。

4.上傳輪廓數(shù)據(jù)

5.添加時(shí)間軸

OK,大功告成!
總結(jié)
當(dāng)然,我們還可以利用同樣的數(shù)據(jù)集制作成熱力圖、3D地圖等。關(guān)鍵是,如此便捷實(shí)用又美觀的地圖可視化工具竟然免費(fèi)!感覺(jué)它比目前市面上很多付費(fèi)工具還要給力。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python+Requests+PyTest+Excel+Allure?接口自動(dòng)化測(cè)試實(shí)戰(zhàn)
本文主要介紹了Python+Requests+PyTest+Excel+Allure?接口自動(dòng)化測(cè)試實(shí)戰(zhàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02
python中tkinter簡(jiǎn)要教程(小白必看)
這篇文章主要介紹了python中tkinter的相關(guān)資料,詳細(xì)講解了如何使用Tkinter創(chuàng)建主窗口、常用控件、布局管理器和事件處理機(jī)制,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-05-05
Python利用itchat模塊定時(shí)給朋友發(fā)送微信信息
這篇文章主要介紹了在Python中利用itchat模塊編寫(xiě)一個(gè)爬蟲(chóng)腳本,可以實(shí)現(xiàn)每天定時(shí)給朋友發(fā)微信暖心話,感興趣的可以跟隨小編一起學(xué)習(xí)一下2022-01-01
python數(shù)據(jù)結(jié)構(gòu)之鏈表的實(shí)例講解
下面小編就為大家?guī)?lái)一篇python數(shù)據(jù)結(jié)構(gòu)之鏈表的實(shí)例講解。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-07-07
Python圖像處理Pillow庫(kù)的基礎(chǔ)使用
Pillow庫(kù)是Python中最流行的圖像處理庫(kù)之一,它是PIL(Python Imaging Library)的一個(gè)分支,提供了豐富的圖像處理功能,使圖像處理變得簡(jiǎn)單而高效,在這篇文章中,我們將探討Pillow庫(kù)的一些基本功能,感興趣的朋友可以參考下2023-09-09

