干货,Python地图可视化三大秘密武器

liftword5个月前 (01-20)技术文章36


Python地图可视化库有大家熟知的pyecharts、plotly、folium,还有稍低调的bokeh、basemap、geopandas,也是地图可视化利器。

首先介绍下bokeh

bokeh擅长制作交互式图表,当然在地图展示方面也毫不逊色。

示例代码地址: https://automating-gis-processes.github.io/2017/lessons/L5/interactive-map-bokeh.html

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')
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学习网站: https://basemaptutorial.readthedocs.io/en/latest/

最后说说geopandas

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

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

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

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

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

相关文章

开发图形界面Tkinter、wxPython、PyQt、PySide选哪一个?

  学习Python,就不得不提一下Python的图形界面开发,如果只用命令行写程序,用户体验不太好,难以胜任复杂的人机交互场景。Python的图形界面开发库常用的有:Tkinter、wxPython...

Python | graphics、tkinter 画回归线

前言写 Python 题时遇到一道绘制回归线的题目。要求点击数据点输入进行绘制,我用 graphics 完成了。但是,这样输入并不精确,加上高中受到线性回归方程那庞大计算量的折磨,于是想写个能输数据的...

【Python可视化系列】一文彻底教会你绘制美观的折线图(源码)

一、前言折线图是一种常用的可视化图表,可以清晰地展示数据随时间或其他连续变量的变化趋势,通过连接数据点,可以观察到数据的上升、下降、波动等变化趋势,帮助人们更直观地理解数据的变化规律。二、基本折线图2...

【Python可视化系列】一文教会你绘制美观的直方图(理论+源码)

一、引言前面我详细介绍了如何绘制漂亮的折线图和柱状图:【Python可视化系列】一文彻底教会你绘制美观的折线图(理论+源码)【Python可视化系列】一文教会你绘制美观的柱状图(理论+源码)对于一个连...

如何在Python中创建Gif动图?(动图数据可视化基础教学)

随着数据以前所未有的速度不断膨胀,数据分析师们往往被要求对数据进行分析并加以理解。一旦发生这种情况,就需要更加有效的方式来传达数据。然而,传达数据分析的结果往往十分棘手。为了更有效地交流,数据可视化是...