使用Python繪製地圖的三大祕密武器

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')
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/

注:由於basemap僅支持Py2,matplotlib會暫停對basemap的維護,cartopy取代basemap成爲matplotlib陣營裏地圖可視化的領頭兵。

最後說說geopandas

geopandas,顧名思義是基於pandas的地圖可視化工具,所以它對地理數據的處理非常方便。

推薦大家將geopandas作爲地理信息數據處理的主要工具。

之前寫過一個geopandas的入門教程,供大家參考:

geopandas,用python畫地圖原來這麼簡單!

配合使用matplotlib,很簡單的代碼就可以畫出漂亮的地圖:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章