Python/[시각화]
[folium] 지도 시각화, 단계 구분도
hyunnn_00
2023. 6. 18. 23:56
# 라이브러리 불러오기
import folium
# 서울 지도 만들기
seoul_map = folium.Map(location = [37.55, 126.98], zoom_start = 12)
# 파일로 저장
seoul_map.save('./seoul_map.html')
# 서울 지도 만들기 - 스타일 적용
seoul_map = folium.Map(location = [37.55, 126.98], zoom_start = 12,
tiles = 'Stamen Toner')
# 파일로 저장
seoul_map.save('./seoul_map.html')
import pandas as pd
# 데이터 불러오기
df = pd.read_excel('/content/drive/MyDrive/hana1/data/서울지역 대학교 위치.xlsx',
engine = 'openpyxl')
df = df.set_index('Unnamed: 0') # 인덱스 설정
# 서울 지도 만들기 - 기본 마커
seoul_map = folium.Map(location = [37.55, 126.98], zoom_start = 12,
tiles = 'Stamen Terrain')
# 마커 표시
for name, lat, lng in zip(df.index, df.위도, df.경도):
folium.Marker([lat,lng], popup = name).add_to(seoul_map)
# 파일로 저장
seoul_map.save('./seoul_univ.html')
# 단계 구분도
import pandas as pd
df = pd.read_excel('/content/drive/MyDrive/hana1/data/경기도인구데이터.xlsx',
index_col = '구분', engine = 'openpyxl')
import json
bnd = json.load(open('/content/drive/MyDrive/hana1/data/경기도행정구역경계.json',
encoding = 'utf-8'))
# 열 이름 데이터 타입을 문자열로 변환
df.columns = df.columns.map(str)
# 경기도 지도 만들기
ggd_map = folium.Map(location = [37.55, 126.98], zoom_start = 9,
tiles = 'Stamen Terrain')
# 단계 구분도 - 2007년
year = "2007"
folium.Choropleth(geo_data = bnd, # 지도 데이터 = 경기도 경계선
data = df[year], # 인구 데이터 = 색깔로 표현할 값
columns = [df.index, df[year]], # 지역의 이름, 해당 연도 인구
fill_color = 'Reds', # ColorBrewer code
fill_opacity = 0.3, # 다각형 내부 색상 투명도
line_opacity = 0.5, # 선 투명도
# 지도 데이터와 인구 데이터를 연결하는 내용 = 지역 이름
# 원래 features 이지만, 공식 문서 문법 표기상 feature 사용
key_on = 'feature.properties.name').add_to(ggd_map)
# 파일로 저장
ggd_map.save('./ggd_' + year + '.html')
# 경기도 지도 만들기
ggd_map = folium.Map(location = [37.55, 126.98], zoom_start = 9,
tiles = 'Stamen Terrain')
# 단계 구분도 - 2017년
year = "2017"
folium.Choropleth(geo_data = bnd, data = df[year],
columns = [df.index, df[year]],
fill_color = 'Reds', # ColorBrewer code
fill_opacity = 0.3,
line_opacity = 0.5,
key_on = 'feature.properties.name').add_to(ggd_map)
# 파일로 저장
ggd_map.save('./ggd_' + year + '.html')