Python中最好用的6個地圖可視化庫

點擊上方"藍字"關(guān)注我們
記錄? ?分享? ?成長
添加微信號"CNFeffery"加入粉絲技術(shù)交流群
?原作者:Abdishakur
原文地址:https://towardsdatascience.com/best-libraries-for-geospatial-data-visualisation-in-python-d23834173b35
編譯:費弗里
?

地理空間數(shù)據(jù)無處不在:在這次新冠肺炎大流行中,我們見識到了各種地理空間數(shù)據(jù)可視化工具制作出的各種風(fēng)格的地圖。而對Python的使用者來說,有幾個非常強大的庫可以幫助我們進行地理空間數(shù)據(jù)可視化。
通過本文,我將給大家分享Python生態(tài)中最好用的6地理空間數(shù)據(jù)可視化工具以及它們的一些案例。
1.PyViz/HoloViz(Geoviews, Datashader, HvPlot)
Holoviz維護的幾個庫有用你可能需要的所有數(shù)據(jù)可視化功能,涵蓋了儀表盤和交互式可視化。Geoviews就是其中專注于地理空間數(shù)據(jù)可視化的庫,提供了靈活方便的地理空間數(shù)據(jù)可視化功能。
??
GeoViews是一個輔助探索和可視化地理數(shù)據(jù)、氣象類數(shù)據(jù)以及海洋數(shù)據(jù)等與天氣、大氣、遙感密切相關(guān)的數(shù)據(jù)集的Python庫
Geoviews的API提供直觀的界面和通用的語法,使得利用它制作可視化作品非常容易,譬如下面的例子中與geopandas配合工作:
import?geoviews?as?gv
imporg?geopandas?as?gpd
gv.Polygons(gpd.read_file(gpd.datasets.get_path('naturalearth_lowres')),?vdims=['pop_est',?('name',?'Country')]).opts(
????tools=['hover'],?width=600,?projection=crs.Robinson()
)

除此之外,PyViz生態(tài)中還提供了其他的用于處理地理空間數(shù)據(jù)的庫,譬如HvPlot、Datashader等,以及用于制作儀表盤app的Panel庫。
2.Folium
Folium是著名的web地圖可視化庫Leaflet.js向Python開放的接口,配合大量有意思的插件制作出交互式的在線地圖。
Folium入門起來非常簡單,你可以通過調(diào)用Folium.Map迅速的看到基礎(chǔ)地圖,也可以根據(jù)你的數(shù)據(jù)對其疊加不同圖層,下面是Folium效果示例:

3.Plotly/Plotly Express
Plotly以及它的高級API庫Plotly Express針對地理空間數(shù)據(jù)可視化有著拓展功能,雖然暫不支持與geopandas的交互,但已經(jīng)足夠制作出很多類型的地圖,并且隨著2019年Plotly Express的推出,用Plotly制作地圖變得越來越容易。
并且基于Dash,可以很容易地制作出web應(yīng)用,幫助你向更多的人展示你的可視化作品:

4.KeplerGl
kepler.gl for jupyter是大規(guī)模地理空間數(shù)據(jù)可視化絕佳的工具。它將世界范圍內(nèi)廣泛被使用的由Uber開源的kepler.gl嵌入到jupyter的界面中。
只需要簡單的幾行代碼,就可以在jupyter notebok或jupyter lab中渲染出界面:

5.IpyLeaflet
類似folium,IpyLeaflet是另一個基于Leaflet的可視化庫,可以用來制作在線交互式地圖,其與folium相比對jupyter的支持更加豐富,可以結(jié)合ipywidgets中的眾多網(wǎng)頁控件實現(xiàn)更復(fù)雜更豐富的網(wǎng)頁交互功能:

6.geopandas
壓軸的當(dāng)然要留給我們Python GIS界的中流砥柱——geopandas了,不同于前面所介紹的幾個庫,geopandas賦予了使用者無限自由的操縱矢量數(shù)據(jù)并將其可視化的能力,配合matplotlib的豐富功能,使得我們可以充分發(fā)揮想象力,做出極具設(shè)計感的可視化作品:

以上就是本文的全部內(nèi)容,如有疑問歡迎在評論區(qū)與我進行討論~

加入我們的知識星球【Python大數(shù)據(jù)分析】
愛上數(shù)據(jù)分析!

