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的入門教程,供大家參考:
配合使用matplotlib,很簡單的代碼就可以畫出漂亮的地圖: