잡동사니 블로그
[Python] Folium을 이용한 지도 시각화 본문
Folium은 Leaflet.js를 기반으로 만들어져 지도를 유연하게 시각화 할 수 있게 함.
라이브러리 설치
!pip install folium
서울 표시
import folium
seoul_latitude = 37.5665
seoul_longitude = 126.9780
seoul_map = folium.Map(location=[seoul_latitude, seoul_longitude], zoom_start=12)
seoul_map
folium.Marker를 이용한 위치 표시
import pandas as pd
df = pd.read_excel('./서울지역대학교위치.xlsx', engine='openpyxl', index_col=0)
df.head()
seoul_map = folium.Map(location=[seoul_latitude, seoul_longitude], zoom_start=12)
for name, lat, lng in zip(df.index, df.위도, df.경도):
folium.Marker([lat, lng], popup=name).add_to(seoul_map)
seoul_map
저 못생긴 마커들은 커스텀 마이징도 가능
example
folium.CircleMarker([lat, lng],
radius=10,
color='brown',
fill=True,
fill_color='coral',
fill_opacity=0.7,
popup=name).add_to(seoul_map)
Choropleth map(단계 구분도) 시각화
file_path = './경기도인구데이터.xlsx'
df = pd.read_excel(file_path, index_col='구분', engine='openpyxl')
df.columns = df.columns.map(str)
geo_path = './경기도행정구역경계.json'
try:
geo_data = json.load(open(geo_path, encoding='utf-8'))
except:
geo_data = json.load(open(geo_path, encoding='utf-8-sig'))
g_map = folium.Map(location=[37.4921263, 126.9261711], tiles='Stamen Terrain', zoom_state=9)
year = '2017'
folium.Choropleth(geo_data=geo_data,
data = df[year],
columns=[df.index, df[year]],
fill_color='YlOrRd',
fill_opacity=0.7,
line_opacity=0.3,
threshold_scale=[10000, 100000, 300000, 500000, 700000],
key_on='feature.properties.name').add_to(g_map)
g_map
'Python' 카테고리의 다른 글
[Python] 심심해서 만든 무신사 추천상품 크롤링 (1) | 2023.11.20 |
---|---|
[Python] TabTransformer to use Tensorflow (0) | 2023.11.19 |
[Python] OpenCV로 Contour 및 Color 검출 하기 (0) | 2023.09.13 |
[Python] pytorch와 sklearn의 train_test_split 활용하여 데이터 셋 나누기와 간단한 CNN (0) | 2023.09.07 |
[Python] Selenium과 bs4를 이용한 크롤링 + Pyautogui (0) | 2023.08.28 |