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使用。
只需要幾行代碼就可以畫一張世界地圖:
<code>from mpl_toolkits.basemap import Basemapimport matplotlib.pyplot as pltmap = Basemap()map.drawcoastlines()plt.show()plt.savefig('test.png')/<code>
<code>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 colormap.fillcontinents(color='coral',lake_color='aqua')map.drawcoastlines()plt.show()/<code>
由於basemap無所不能的繪圖能力,你還可以畫:
風勾圖
輪廓圖
填充輪廓圖
偽彩色圖
地理標記圖
矢量場流線圖
實景地圖
多子圖地圖
3D地圖
示例代碼及basemap學習網站:https://basemaptutorial.readthedocs.io/en/latest/
注:由於basemap僅支持Py2,matplotlib會暫停對basemap的維護,cartopy取代basemap成為matplotlib陣營裡地圖可視化的領頭兵。
最後說說geopandas
geopandas,顧名思義是基於pandas的地圖可視化工具,所以它對地理數據的處理非常方便。
推薦大家將geopandas作為地理信息數據處理的主要工具。
之前寫過一個geopandas的入門教程,供大家參考:
geopandas,用python畫地圖原來這麼簡單!
配合使用matplotlib,很簡單的代碼就可以畫出漂亮的地圖:
閱讀更多 洛鴻0920 的文章