[제로베이스] Folium 기초

한결·2024년 1월 5일
0
post-thumbnail

Folium

Folium은 Python의 지리적 데이터를 시각화하기 위한 강력한 라이브러리 중 하나입니다. 다양한 타일맵 스타일을 지원하며, 마커, 원, 폴리라인, 히트맵 등 다양한 그래픽 요소를 지도 위에 추가할 수 있습니다. Folium은 지도의 위치 및 줌 레벨 설정부터 다양한 요소 추가, 저장까지 지원하여 다양한 지리 정보 시각화에 활용됩니다.


기본

import folium
folium.Map(location=[45.5236,-122.6750],zoom_start=13)

원하는 위치의 위도, 경도를 표기하면 위치가 표현된다. 이때 zoom_start는 기본 배율을 의미한다.


Marker

my_map = folium.Map(
    location=[45.372, -121.6972],
    zoom_start = 12)

folium.Marker([45.3288, -121.6625], popup='<i>Mt. Hood Meadows</i>').add_to(my_map)
folium.Marker([45.3311, -121.7113], popup='<b>Timberline Lodge</b>').add_to(my_map)

my_map

folium.Marker를 이용해 지도에 마커 표시를 할 수 있다.


m = folium.Map(location=[45.372, -121.6972], zoom_start=12)

folium.Marker(
    location=[45.3288, -121.6625],
    popup='Mt. Hood Meadows',
    icon = folium.Icon(icon='cloud'),
).add_to(m)
folium.Marker(
    location=[45.3311, -121.7113],
    popup='Timberline Lodge',
    icon = folium.Icon(color = 'green'),
).add_to(m)
folium.Marker(
    location=[45.3300, -121.6823],
    popup='한글 테스트',
    icon = folium.Icon(color = 'red', icon='info-sign'),
).add_to(m)


popup을 이용해 마커 안에 글씨도 넣을수 있고
icon을 이용해 아이콘 모양도 설정할수 있다.


원 그리기

m = folium.Map(location=[45.5236, -122.6750], zoom_start = 13)

# Circle
folium.Circle(
    radius = 100,
    location=[45.5244, -122.6699],
    popup='The Waterfront',
    color='crimson',
    fill=False,
).add_to(m)

# Circle Marker
folium.CircleMarker(
    radius = 50,
    location=[45.5215, -122.6261],
    popup='Laurelhurst Park',
    color='#3186cc',
    fill=True,
    fill_color='#3186cc'
).add_to(m)

folium.Circlefolium.CircleMarker를 이용해 원을 생성할 수 있다.


지도로 미국 주 실업률 시각화 하기

import json
import pandas as pd
import numpy as np

state_data = pd.read_csv('data/02. US_Unemployment_Oct2012.csv')

m = folium.Map(location=[48,-102],zoom_start=3)
m.choropleth(
    geo_data = 'data/02. us-states.json',
    data = state_data,
    columns = ['State','Unemployment'],
    key_on='feature.id',
    fill_color = 'YlGn',
    fill_opacity=0.7,
    line_opacity=0.2,
    legend_name= 'Unemployment Rate(%)'
)

profile
낭만젊음사랑

0개의 댓글