folium
: 지도 시각화 라이브러리, 크롬에서 가장 동작이 좋다Map(location=[위도, 경도]
, Map(location=(위도, 경도)
tiles
: 스타일 설정(OpenStreetMap, Stamen Terrain/Toner/Watercolor, CartoDB positron, CartoDB dark_matter 등)zoom_start
: 줌 설정(0~18)save
: 지도를 html 형식으로 저장Marker
: 지도에 마커 추가popup
, tooltip
: 마커 클릭 또는 커서 이동 시 문구 출력(html 문법 사용 가능)icon
: 다양한 모양의 아이콘 지원add_to
: Map을 매개변수로 받아 해당 지도에 마커 추가! pip install folium
import folium
import pandas as pd
import json
location: tuple or list, default None
Latitude and Longitude of Map(Northing, Easting)
m = folium.Map(location=[37.55130208776093, 126.94047596885527], zoom_start=15)
m
m.save("./folium.html") #현재 경로에 folium이라는 파일로 저장
- "OpenStreetMap"
- "Mapbox Bright" (Limited levels of zoom for free tiles)
- "Mapbox Control Room" (Limited levels of zoom for free tiles)
- "Stamen" (Terrain, Toner, and Watercolor)
- "Cloudmade" (Must pass API key)
- "Mapbox" (Must pass API key)
- "CartoDB" (positron and dark_matter)
m = folium.Map(
location=[37.55130208776093, 126.94047596885527],
zoom_start=14,
tiles="StamenTerrain"
)
m
m = folium.Map(
location=[37.55130208776093, 126.94047596885527],
zoom_start=14,
tiles="OpenStreetMap"
)
folium.Marker(
location = [37.55096714787741, 126.94093550672486],
popup="<b>Univ</b>", #마커 클릭하면 정보 표시, <b>-</b> :볼드체 옵션
tooltip="서강대" #마우스커서만 위치시켜도 정보 표시
).add_to(m)
folium.Marker(
location = [37.54795529166532, 126.94169946773204],
popup="<a href='http://www.seoulmetro.co.kr/kr/page.do?menuIdx=541' target=_'blink'>지하철</a>", #바로 링크 이동하도록 하기
tooltip="<i>Subway</i>" #<i>이탤릭체
).add_to(m)
m
folium.Icon()
으로 매개변수를 받는다.icon
: 아이콘 형태 결정icon_color
: 아이콘 컬러 설정color
: 마커 컬러 설정angle
: 기울기 설정prefix
: 아이콘에 따라 'fa', 'glyphicon' 사용fa
: font-awesomeglyphicon
: glyphiconm = folium.Map(
location=[37.55130208776093, 126.94047596885527],
zoom_start=14,
tiles="OpenStreetMap"
)
#icon basic
folium.Marker(
location = [37.55096714787741, 126.94093550672486],
popup="<b>Univ</b>",
tooltip="서강대",
icon=folium.Icon(color="red", info="info-sign")
).add_to(m)
folium.Marker(
location = [37.54849091300902, 126.94002468496141],
tooltip="하나",
icon=folium.Icon(
color="blue",
icon_color="pink",
icon="cloud")
).add_to(m)
folium.Marker(
location = [37.54795529166532, 126.94169946773204],
popup="<a href='http://www.seoulmetro.co.kr/kr/page.do?menuIdx=541' target=_'blink'>지하철</a>", #바로 링크 이동하도록 하기
tooltip="<i>Subway</i>"
).add_to(m)
#icon 커스텀
folium.Marker(
location=[37.54937608874822, 126.93816048604289],
popup="Cafe",
tooltip="Brewing mansion",
icon=folium.Icon(
color="green",
icon_color="white",
icon="amazon",
prefix='fa') #fontawesome에서 아이콘 가져오고 prefix='fa'
).add_to(m)
m
m = folium.Map(
location=[37.55130208776093, 126.94047596885527],
zoom_start=14,
tiles="OpenStreetMap"
)
m.add_child(folium.ClickForMarker(popup="ClickForMarker"))
m = folium.Map(
location=[37.55130208776093, 126.94047596885527],
zoom_start=14,
tiles="OpenStreetMap"
)
m.add_child(folium.LatLngPopup())
m = folium.Map(
location=[37.55435405069343, 126.9353656797038],
zoom_start=16,
tiles="OpenStreetMap"
)
#Circle
folium.Circle(
location=[37.55226115458833, 126.93536080648934],
radius=100,
fill=True,
color="red",
fill_color='red',
).add_to(m)
#CircleMarker
folium.CircleMarker(
location=[37.55145366199116, 126.92933634744482],
radius=30,
fill=True,
color="blue",
fill_color='blue',
).add_to(m)
m
import json
state_data = pd.read_csv("../data/02. US_Unemployment_Oct2012.csv")
state_data.tail(2)
m = folium.Map([43,-102], zoom_start=3)
folium.Choropleth(
geo_data="../data/02. us-states.json", #경계선 좌표값이 담긴 데이터
data=state_data,
columns=["State", "Unemployment"],
key_on="feature.id",
fill_color="BuPu",
fill_opacity=1, #0~1
line_opacity=1, #0~1
legend_name="Unemploymentrate (%)"
).add_to(m)
m