Python地图可视化库有大家熟知的pyecharts、plotly、folium,其他回答都有介绍,还有稍低调的bokeh、basemap、geopandas,也是地图可视化的利器。
首先介绍下bokeh
bokeh擅长制作交互式图表,当然在地图展示方面也毫不逊色。
Bokeh支持google地图、geojson数据的地理可视化展示,关键是可以动态交互。 /> />
Bokeh官网提供了详细的地图可视化方案,感兴趣的把示例代码拉出来跑一跑。
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') />
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() />
由于basemap无所不能的绘图能力,你还可以画:
风勾图 />
轮廓图 />
填充轮廓图 />
伪彩色图 />
地理标记 />
矢量场流线图 />
实景地图 /> />
多子图地图 />
3D地图 />
注:评论里提醒,由于basemap支持py2,而py2已经停止维护,所以basemap也被matplotlib放弃了。取而代之的是cartopy ,支持py3,完美结合matplotlib。 />
最后说说geopandas
geopandas,顾名思义是基于pandas的地图可视化工具,所以它对地理数据的处理非常方便。
推荐大家将geopandas作为地理信息数据处理的主要工具。
之前写过一个geopandas的入门教程,供大家参考:朱卫军:geopandas,用python分析地理空间数据原来这么简单!zhuanlan.zhihu.com
配合使用matplotlib,很简单的代码就可以画出漂亮的地图: />