728x90
import folium
!pip3 install git+https://github.com/python-visualization/branca.git@master # 한글깨짐방지
- Map
base map 표현
- locatioin : X, Y좌표 (google map에서 가져오면 쉬움)
- zoom_start : 지도를 몇배 확대해서 볼건지
m = folium.Map(
location = [37.54734, 126.9906]
,zoom_start=11
)
- marker
- location : 어디에 마커를 찍을지 좌표
- popup : 마커를 눌렀을 때 어떤 내용을 넣을지
- tooltip : 마커에 마우스 올려놨을 때 어떤 내용을 넣을지
- icon : 마커 스타일
커스터마이징 가능 --> from folium.features import CustomIcon (예:이미지파일 불러와서 마커 표현)
folium.Marker(
location = [37.66121, 126.9922]
,popup = '<strong>북한산<strong>'
,tooltip = tooltip
,icon = folium.Icon(color = 'blue', icon = 'star')
).add_to(m)
다양한 Plugin 기능들
- cluster
- 지도를 줌아웃 했을 때, 마커들을 클러스터링 하여 표현
# cluster
# mt라는 데이터프레임이 존재함
from folium.plugins import MarkerCluster
m = folium.Map(
location = [37.54734, 126.9906]
,zoom_start=8
)
mc = MarkerCluster()
for _, row in mt.iterrows():
mc.add_child(
folium.Marker(location = [row['X좌표'], row['Y좌표']],
popup=row['명산_이름']
)
)
m.add_child(mc)
m
- 측정기능
줄자 기능을 통해 직선거리를 측정할 수 있음
# 측정기능
from folium.plugins import MeasureControl
m = folium.Map(
[33.38, 126.55],
zoom_start = 10
)
m.add_child(MeasureControl())
m
- mouse position
지도에 마우스를 올리면 x,y좌표를 알려줌
from folium.plugins import MousePosition
m = folium.Map(
[33.38, 126.55],
zoom_start = 10
)
m.add_child(MousePosition())
m
- 테이블삽입
마커 팝업에 테이블을 삽입
m = folium.Map()
df = pd.DataFrame(data = [[2019, 500000],
[2020, 600000],
[2021, 700000]],
columns = ['연도', '인구'])
html = df.to_html(classes='table')
folium.Marker(
[33.38, 126.55], # mouse position 기능으로 한라산 pick
popup=html
).add_to(m)
m
[참고]
Getting started — Folium 0.1.dev1+gc18677f documentation (python-visualization.github.io)
728x90