Python地图可视化库有大家熟知的pyecharts、plotly、folium,还有稍低调的bokeh、basemap、geopandas,也是地图可视化不可忽视的利器。
这次就来介绍下这三位低调的python地图可视化工具。
首先介绍下bokeh
bokeh擅长制作交互式图表,当然在地图展示方面也毫不逊色。
示例代码地址:https://automating-gis-processes.github.io/2017/lessons/L5/interactive-map-bokeh.html
再来个小视频展示一下:
视频代码地址:https://towardsdatascience.com/a-complete-guide-to-an-interactive-geographical-map-using-python-f4c5197e23e0
Bokeh支持google地图、geojson数据的地理可视化展示,关键是可以动态交互。
Bokeh官网提供了详细的地图可视化方案,感兴趣的把示例代码拉出来跑一跑。
学习网站:https://docs.bokeh.org/en/lates
basemap-专业地图可视化库
可以毫不夸张的说,basemap是python地图可视化最牛逼的第三方库。
basemap基于matplotlib开发,所以它具有创建数据可视化的所有功能,必须配合matplotlib使用。
只需要几行代码就可以画一张世界地图:
from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt
map = Basemap()
map.drawcoastlines()
plt.show()
plt.savefig('test.png')
![](https://i-blog.csdnimg.cn/blog_migrate/f5592d4f98d4e94b8e4f6708ac46733c.png)
from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt
map = Basemap(projection='ortho',
lat_0=0, lon_0=0)
#Fill the globe with a blue color
map.drawmapboundary(fill_color='aqua')
#Fill the continents with the land color
map.fillcontinents(color='coral',lake_color='aqua')
map.drawcoastlines()
plt.show()
![](https://i-blog.csdnimg.cn/blog_migrate/a9954c9777224a41500849831e96e280.png)
由于basemap无所不能的绘图能力,你还可以画:
风勾图
![](https://i-blog.csdnimg.cn/blog_migrate/1b46f4f47499c0e5637a8bdfe78a1792.png)
轮廓图
![](https://i-blog.csdnimg.cn/blog_migrate/3dc7acd7e2193103240ef92ad8206e9b.png)
填充轮廓图
![](https://i-blog.csdnimg.cn/blog_migrate/250d677d37f51e7d828972441127fbd3.png)
伪彩色图
![](https://i-blog.csdnimg.cn/blog_migrate/7d2acd266ba942e0a23d76dc00be7b20.png)
地理标记图
![](https://i-blog.csdnimg.cn/blog_migrate/b4d407d23c72c74eb58d1f23ec9295af.png)
矢量场流线图
![](https://i-blog.csdnimg.cn/blog_migrate/0f354186c14f41ccd560edc2e62ac5ef.png)
实景地图
![](https://i-blog.csdnimg.cn/blog_migrate/f73250f6207a9336271f111f267f2b0c.png)
![](https://i-blog.csdnimg.cn/blog_migrate/61016d030d4e7048d4304afa3192094a.png)
多子图地图
![](https://i-blog.csdnimg.cn/blog_migrate/a36102876cb3426a3a9a3f941c8ea135.png)
3D地图
![](https://i-blog.csdnimg.cn/blog_migrate/00ba4248f424a229bd8a922a0da729a6.png)
示例代码及basemap学习网站:https://basemaptutorial.readthedocs.io/en/latest/
注:由于basemap仅支持Py2,matplotlib会暂停对basemap的维护,cartopy取代basemap成为matplotlib阵营里地图可视化的领头兵。
最后说说geopandas
geopandas,顾名思义是基于pandas的地图可视化工具,所以它对地理数据的处理非常方便。
推荐大家将geopandas作为地理信息数据处理的主要工具。
之前写过一个geopandas的入门教程,供大家参考:
配合使用matplotlib,很简单的代码就可以画出漂亮的地图:
![](https://i-blog.csdnimg.cn/blog_migrate/a5066ce3b2913527c4aecd64caef0660.png)