手把手教你用Python+可视化工具制作漂亮地图
![](https://filescdn.proginn.com/15712c05cb72a1c3a66718f1477796c9/f72f22f67a7020b5903eb52ba88cf4c5.webp)
大家好,我是J哥。
这次呢,我想讲讲地图可视化的内容,以前我也写过用Python的内置库绘制地图,但总感觉不够美观。如何才能在短时间内制作漂亮的可视化地图呢,我觉得Python+可视化工具是不错的选择。
以下动态可视化地图就是J哥亲手绘制,展现了一段时间内广州市企事业单位在网上商城采购商品的分布及随时间的变化。
![](https://filescdn.proginn.com/ef8d5f35d65ce80dbba6a80de8be6101/198cd9ad93f490c0aded2a25257b2fd2.webp)
数据准备
![](https://filescdn.proginn.com/1e780161864518647d1a31b36f61d03c/e7e86ee5c858efbb5333139e48c189f5.webp)
1df = pd.read_excel('cc.xls',index=False)
2df.head()
第二步,根据采购单位字段获取经纬度,批量获取经纬度的方法很多,详情可参考J哥往期原创文章「用Python评测三种批量查询经纬度的方法,你pick哪一种?」。
1def gaode(addr):
2 para = {
3 'key':'你的',
4 'address':addr
5 }
6 url = 'https://restapi.amap.com/v3/geocode/geo?'
7 req = requests.get(url,para)
8 req = req.json()
9 print('-' * 30)
10 if req['status']=='1':
11 if len(req['geocodes']) > 0:
12 m = req['geocodes'][0]['location']
13 print(m)
14 else:
15 print("None")
16 m = ""
17 else:
18 print("None")
19
20 return m
21gaode(addr="广州")
1df['lat_lon'] = df['buyer'].apply(gaode)
2df.head()
长这样:
第三步,对经纬度字段分列并存储为csv格式。
1df["lat"] = df["lat_lon"].str.split(',',expand=True)[1]
2df["lon"] = df["lat_lon"].str.split(',',expand=True)[0]
3df = df.drop('lat_lon',axis=1)
4df.to_csv('cc.csv',index=False)
简单三步数据准备完毕,数据预览如下:
![](https://filescdn.proginn.com/ef8d5f35d65ce80dbba6a80de8be6101/198cd9ad93f490c0aded2a25257b2fd2.webp)
数据可视化
![](https://filescdn.proginn.com/1e780161864518647d1a31b36f61d03c/e7e86ee5c858efbb5333139e48c189f5.webp)
pip install keplergl
![](https://filescdn.proginn.com/3dbc349ab6f8ec825c24399551c839f8/0afe028e46f7ae453ca34265690ecd66.webp)
http://map.guihuayun.com/ #规划云网站搭的一个镜像
![](https://filescdn.proginn.com/1ea7ab234efa6da822633c27f08d7662/e77451181975e1ab869ba987163881b8.webp)
![](https://filescdn.proginn.com/4ed3b92ede32a06da0c506a3fdc6841b/87defd9a937bc736416c6ef71072b8c7.webp)
![](https://filescdn.proginn.com/00593eeb9622bd68be2acc66e0f7d626/9fba4cfbf3c7b99035209e3137926a17.webp)
![](https://filescdn.proginn.com/cd2882cc6d9ab0f5da55ce590447f6fa/56ba897d347487fbe6ad2b1a123de62e.webp)
![](https://filescdn.proginn.com/39f173b679f0eb59bb4f1ee8efac847a/5c98c24ee42fefbdb252148776f701a0.webp)
![](https://filescdn.proginn.com/ff9cb1fd0e4fda403e291425f55b8760/18af35907caae4fab6d89c3a49a77bc9.webp)
![](https://filescdn.proginn.com/ef8d5f35d65ce80dbba6a80de8be6101/198cd9ad93f490c0aded2a25257b2fd2.webp)
总结
![](https://filescdn.proginn.com/1e780161864518647d1a31b36f61d03c/e7e86ee5c858efbb5333139e48c189f5.webp)
当然,我们还可以利用同样的数据集制作成热力图、3D地图等。关键是,如此便捷实用又美观的地图可视化工具竟然免费!感觉它比目前市面上很多付费工具还要给力。
![](https://filescdn.proginn.com/d6de01ea4b66d6a21b6d637fed75470a/750b90befc91b7b9123191176f5fdf57.webp)
![](https://filescdn.proginn.com/406ba89154e1e02fe72f2dc5db1f102c/700bb9bad8736f03698e82a4e77b3b1c.webp)
PS:公号内回复「Python」即可进入Python 新手学习交流群,一起 100 天计划!
老规矩,兄弟们还记得么,右下角的 “在看” 点一下,如果感觉文章内容不错的话,记得分享朋友圈让更多的人知道!
![](https://filescdn.proginn.com/a53c0360d6108762bd8def6ec51ddaeb/204b17007af3a55327ed6fab020660b2.webp)
![](https://filescdn.proginn.com/d56279dc60ffbbd8fc1da5ccac26b13c/ebfe1d4479c701ba5859d64bc6ac64a8.webp)
【神秘礼包获取方式】
评论