python广州地图_手把手教你用Python+可视化工具制作漂亮地图
作者:J哥
這次呢,我想講講地圖可視化的內(nèi)容,以前我也寫過用Python的內(nèi)置庫繪制地圖,但總感覺不夠美觀。如何才能在短時(shí)間內(nèi)制作漂亮的可視化地圖呢,我覺得Python+可視化工具是不錯(cuò)的選擇。
以下動態(tài)可視化地圖就是我親手繪制,展現(xiàn)了一段時(shí)間內(nèi)廣州市企事業(yè)單位在網(wǎng)上商城采購商品的分布及隨時(shí)間的變化。
接下來,將手把手教你如何繪制這個(gè)動態(tài)圖,數(shù)據(jù)集文末下載。
數(shù)據(jù)準(zhǔn)備
第一步,打開并預(yù)覽一下數(shù)據(jù)集,共766條采購記錄,包含采購時(shí)間、采購單位和采購金額3個(gè)字段。
df?=?pd.read_excel('cc.xls',index=False)
df.head()
第二步,根據(jù)采購單位字段獲取經(jīng)緯度,批量獲取經(jīng)緯度的方法很多,詳情可參考我往期原創(chuàng)文章「用Python評測三種批量查詢經(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)2df.head()
長這樣:
第三步,對經(jīng)緯度字段分列并存儲為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)
簡單三步數(shù)據(jù)準(zhǔn)備完畢,數(shù)據(jù)預(yù)覽如下:
數(shù)據(jù)可視化
將以上數(shù)據(jù)可視化到地圖中的方法也有很多,比如Ecahrts、高德地圖可視化平臺、地圖無憂等,本次主要介紹kepler.gl。
kepler.gl是由Uber開發(fā)的進(jìn)行空間數(shù)據(jù)可視化的開源工具,是Uber內(nèi)部進(jìn)行空間數(shù)據(jù)可視化的默認(rèn)工具,通過其面向Python開放的接口包keplergl,我們可以在 jupyter notebook 中通過書寫Python代碼的方式傳入多種格式的數(shù)據(jù),在其嵌入notebook的交互窗口中使用其內(nèi)建的多種豐富的空間數(shù)據(jù)可視化功能。可以讓你不需要任何編程基礎(chǔ),即可實(shí)現(xiàn)數(shù)據(jù)地圖的可視化。Kepler.gl 支持的數(shù)據(jù)格式:CSV、GeoJson 和Json。
一、Jupyter中可視化
1. 本地安裝
pip?install?keplergl
注: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è)鏡像
打開網(wǎng)站后,首先將cc.csv數(shù)據(jù)集添加進(jìn)來。
添加好數(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)!感覺它比目前市面上很多付費(fèi)工具還要給力。
總結(jié)
以上是生活随笔為你收集整理的python广州地图_手把手教你用Python+可视化工具制作漂亮地图的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 新旧电脑文件转移
- 下一篇: python 获取当前网页_你好,想知道