社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

使用Python绘制地图的三大秘密武器

数据分析1480 • 5 年前 • 718 次点击  

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 Basemapimport matplotlib.pyplot as pltmap = Basemap()map.drawcoastlines()plt.show()plt.savefig('test.png')
from mpl_toolkits.basemap import Basemapimport matplotlib.pyplot as pltmap = 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()

由于basemap无所不能的绘图能力,你还可以画:

风勾图

轮廓图

填充轮廓图

伪彩色图

地理标记图

矢量场流线图

实景地图

多子图地图

3D地图

示例代码及basemap学习网站:https://basemaptutorial.readthedocs.io/en/latest/

注:由于basemap仅支持Py2,matplotlib会暂停对basemap的维护,cartopy取代basemap成为matplotlib阵营里地图可视化的领头兵。

最后说说geopandas

geopandas,顾名思义是基于pandas的地图可视化工具,所以它对地理数据的处理非常方便。

推荐大家将geopandas作为地理信息数据处理的主要工具。

之前写过一个geopandas的入门教程,供大家参考:

geopandas,用python画地图原来这么简单!

配合使用matplotlib,很简单的代码就可以画出漂亮的地图:

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/57019
 
718 次点击