Python實現(xiàn)地圖可視化folium完整過程
Folium簡介
Folium是一個基于leaflet.js的Python地圖庫,其中,Leaflet是一個非常輕的前端地圖可視化庫。即可以使用Python語言調(diào)用Leaflet的地圖可視化能力。它不單單可以在地圖上展示數(shù)據(jù)的分布圖,還可以使用Vincent/Vega在地圖上加以標(biāo)記。Folium可以讓你用Python強(qiáng)大生態(tài)系統(tǒng)來處理數(shù)據(jù),然后用Leaflet地圖來展示。
Folium中有許多來自O(shè)penStreetMap、MapQuest Open、MapQuestOpen Aerial、Mapbox和Stamen的內(nèi)建地圖元件,而且支持使用Mapbox或Cloudmade的API密鑰來定制個性化的地圖元件。Folium支持GeoJSON和TopoJSON兩種文件格式的疊加,也可以將數(shù)據(jù)連接到這兩種文件格式的疊加層,最后可使用color-brewer配色方案創(chuàng)建分布圖。
想通過 Python 繪制精美的地圖?想在地圖上自由的設(shè)置各種參數(shù)?想獲得靈活的交互體驗?這里就有一款Python 神包滿足你:folium。
folium 建立在 Python 生態(tài)系統(tǒng)的數(shù)據(jù)應(yīng)用能力和 Leaflet.js 庫的映射能力之上,在Python中操作數(shù)據(jù),然后通過 folium 在 Leaflet 地圖中可視化。
folium 相比較于國內(nèi)百度的 pyecharts 靈活性更強(qiáng),能夠自定義繪制區(qū)域,并且展現(xiàn)形式更加多樣化。
附:官方文檔,官方示例,本文 notebook ,完整代碼及數(shù)據(jù)。
1.安裝folium模塊
pip install folium
2.安裝jupyter
pip install jupyter
便于查看地圖
3.查看世界地圖
創(chuàng)建一個Jupyter Notebook 格式文件,便于查看地圖
import folium m = folium.Map() # 顯示地圖 m
4.查看中國地圖
import folium m = folium.Map(location=[30,100],zoom_start=3) m
- location 經(jīng)緯度,list 或者 tuple 格式,順序為 latitude(緯度), longitude(經(jīng)度)
- zoom_start 縮放值,默認(rèn)為 10,值越大比例尺越小,地圖放大級別越大
- tiles 顯示樣式,默認(rèn)*‘OpenStreetMap'*,也就是開啟街道顯示
- crs 地理坐標(biāo)參考系統(tǒng),默認(rèn)為"EPSG3857"
5.武漢市地圖
m = folium.Map(location=[30.6,114.4],zoom_start=8) # 武漢市地圖
修改樣式
m = folium.Map(location=[30.6,114.4],zoom_start=8,tiles='Stamen Toner')
m = folium.Map(location=[30.6,114.4],zoom_start=8,tiles='Stamen Terrain')
6.添加標(biāo)記
import folium wuhan_map = folium.Map(location=[30.6,114.4],zoom_start=8) # 添加標(biāo)記 folium.Marker( location=[30.6,114.3], # 位置 popup='Wu Han City Marker', # 鼠標(biāo)點(diǎn)擊 彈出的說明 icon=folium.Icon(icon='cloud') # 圖標(biāo)樣式 ).add_to(wuhan_map) folium.Marker( location=[30.6,114.33], popup='Timberline Lodge', icon=folium.Icon(color='green') ).add_to(wuhan_map) folium.Marker( location=[30.6,114.35], popup='Some Other Location', icon=folium.Icon(color='red', icon='info-sign') ).add_to(wuhan_map) folium.Circle( # 添加圓 radius=200, location=(30.6,114.32), popup='The Waterfront', color='crimson', fill=False, ).add_to(wuhan_map) folium.CircleMarker( #添加藍(lán)色圓環(huán) location=(30.6,114.37), radius=50, popup='Laurelhurst Park', color='#3186cc', fill=True, fill_color='#3186cc' ).add_to(wuhan_map) # 獲取點(diǎn)的經(jīng)緯度 # wuhan_map.add_child(folium.LatLngPopup()) # 動態(tài)添加標(biāo)簽 wuhan_map.add_child(folium.ClickForMarker(popup='Waypoint'))
7.查找武漢科技大學(xué)
import foliumposition = [30.4415, 114.2628] # 武科大的經(jīng)緯度school_mp = folium.Map(location=position,zoom_start=15)school_mp
8.未解決
彈出pop_up顯示圖片不會。
9.參考文章
以上就是Python實現(xiàn)地圖可視化folium的詳細(xì)內(nèi)容,更多關(guān)于Python地圖可視化olium的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Django框架會話技術(shù)實例分析【Cookie與Session】
這篇文章主要介紹了Django框架會話技術(shù),結(jié)合實例形式分析了Django框架Cookie與Session相關(guān)使用技巧與注意事項,需要的朋友可以參考下2019-05-05python連接打印機(jī)實現(xiàn)打印文檔、圖片、pdf文件等功能
這篇文章主要介紹了python連接打印機(jī)實現(xiàn)打印文檔、圖片、pdf文件等功能,需要的朋友可以參考下2020-02-02Python進(jìn)階之如何快速將變量插入有序數(shù)組
在我們學(xué)習(xí)python的過程中,學(xué)習(xí)序列是一門必修課。本文我們就來一起看一看Python是如何快速將變量插入有序數(shù)組的,感興趣的可以了解一下2023-04-04python實現(xiàn)精準(zhǔn)搜索并提取網(wǎng)頁核心內(nèi)容
這篇文章主要為大家介紹了python實現(xiàn)精準(zhǔn)搜索并提取網(wǎng)頁核心內(nèi)容的實現(xiàn),有需要的的朋友可以借鑒參考下,希望能有所幫助祝大家多多進(jìn)步2021-11-11