您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關使用Python可視化工具如何實現動態圖表,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
前言
這次呢,我想講講地圖可視化的內容,以前我也寫過用Python的內置庫繪制地圖,但總感覺不夠美觀。如何才能在短時間內制作漂亮的可視化地圖呢,我覺得Python+可視化工具是不錯的選擇。
以下動態可視化地圖就是J哥親手繪制,展現了一段時間內廣州市企事業單位在網上商城采購商品的分布及隨時間的變化。
接下來,將手把手教你如何繪制這個動態圖,您可在公眾號后臺回復「kepler」獲取數據集進行測試。
數據準備
第一步,打開并預覽一下數據集,共766條采購記錄,包含采購時間、采購單位和采購金額3個字段。
1df=pd.read_excel('cc.xls',index=False)2df.head()
第二步,根據采購單位字段獲取經緯度,批量獲取經緯度的方法很多,詳情可參考「用Python評測三種批量查詢經緯度的方法,你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="廣州")
應用以上函數并預覽數據
df['lat_lon'] = df['buyer'].apply(gaode)
df.head()
第三步,對經緯度字段分列并存儲為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)
簡單三步數據準備完畢,數據預覽如下:
數據可視化
將以上數據可視化到地圖中的方法也有很多,比如Ecahrts、高德地圖可視化平臺、地圖無憂等,本次主要介紹kepler.gl。
kepler.gl是由Uber開發的進行空間數據可視化的開源工具,是Uber內部進行空間數據可視化的默認工具,通過其面向Python開放的接口包keplergl,我們可以在 jupyter notebook 中通過書寫Python代碼的方式傳入多種格式的數據,在其嵌入notebook的交互窗口中使用其內建的多種豐富的空間數據可視化功能。可以讓你不需要任何編程基礎,即可實現數據地圖的可視化。Kepler.gl 支持的數據格式:CSV、GeoJson 和Json。
一、Jupyter中可視化
1.本地安裝
pipinstallkeplergl
注:Windows用戶建議conda安裝,否則很可能報錯。
2.加載地圖和數據
二、在線網站中可視化(推薦)
當然,你也可以直接在kepler官網中上傳數據操作,但官網速度較慢,建議用如下網站操作:
http://map.guihuayun.com/ #規劃云網站搭的一個鏡像
打開網站后,首先將cc.csv數據集添加進來。
添加好數據后,可以根據自己的喜好進行圖標顏色、大小、地圖樣式等參數設置。
1.圖標設置
2.地圖樣式更改
3.添加城市輪廓
城市輪廓數據可以在DATAV.GeoAtlas網站進行獲取。
4.上傳輪廓數據
5.添加時間軸
OK,大功告成!
總結
當然,我們還可以利用同樣的數據集制作成熱力圖、3D地圖等。關鍵是,如此便捷實用又美觀的地圖可視化工具竟然免費!感覺它比目前市面上很多付費工具還要給力。
上述就是小編為大家分享的使用Python可視化工具如何實現動態圖表了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。