Visualizations/Various Graphs

folium 시각화

metamong 2022. 3. 24.

 지도 표현 - 위치를 보여주는 시각화 library ♣

1. code & 출력 결과 (예시)

1> 설치 

 

!pip install folium

 

2> import 

 

import folium

 

3> folium 내의 Map & Marker method를 활용한다

 

- ex) code 1)

 

map =folium.Map( location=(37.5012748,127.039625),zoom_start=14 )
mk = folium.Marker( location=(37.5012748,127.039625),popup='test1')
mk.add_to(map)
mk1 = folium.Marker( location=(37.5112748,127.039625),popup='test2')
mk1.add_to(map)
map

 

- ex) code 2) <서울 강북구 지역의 교통사고 위치를 표시 & 각 마커에는 법규위반내용 표시>

 

kangbuk =df[ (df['발생지시도']=='서울') & (df['발생지시군구']=='강북구')][['법규위반','위도','경도']]
kangbuk

#일단, 교통사고 다발지역 위도, 경도의 평균을 중심 초점으로 잡고
map =folium.Map( location=(kangbuk['위도'].mean(),kangbuk['경도'].mean()),zoom_start=14 )

#dataframe의 각 row(행) 별 data를 돌아 위치 marker에 popup 내용과 함께 시각화!
for i,s in kangbuk.iterrows():
    mk = folium.Marker( location=(s['위도'],s['경도']),popup=s['법규위반'] )
    mk.add_to(map)
map

 

(+) for ~ in datframe.iterrows():

 

 dataframe 내의 여러 row를 지정할 때 사용한다

 for i s in df.iterrows(): 하면 df내의 i는 각 row별 index, s는 각 row를 지정함

(iloc / loc 없이 쉽게 사용이 가능한 점!)

 

4> 시각화 결과 (1)

- 입력한 위도 & 경도에 알맞는 장소가 marker 형태로 표시되며, 해당 marker에 커서를 갖다 댈 경우 'test1'이라는 팝업 메시지가 뜬다.

 

2. Map & Marker method

-- Map method --

 location 인자) tuple 형태로 지도 위에 보여주고 싶은 위치의 (위도, 경도) 입력!

 zoom_start 인자) 첫 지도 그림 표시할 때 확대 배율을 어느 정도로 해줄 지 정해주는 변수 (default는 10)

 

-- Marker method --

(※위 Map method만 사용하면 해당 위도와 경도를 포함한 주변 지도를 보여줄 뿐, 정확한 위치를 표시하기 위해선 Marker method를 사용해야 함!※)

 

 location 인자) 당연히 marker를 표시할 위치정보인, tuple 형태의 (위도, 경도) 입력!

 popup 인자) 해당 marker에 커서를 갖다대면 어떤 내용을 표시할 지 string 형태의 문자열 입력!

 

(** 여기서 marker의 add_to method를 꼭 사용하여 표현하고자 하는 map 객체에 시각화! **)

 

(위) 4> 시각화 결과 (2)


 

*출처) (공공데이터 청년인턴 일경험수련생 상시교육) python 기반 pandas 데이터 분석

'Visualizations > Various Graphs' 카테고리의 다른 글

seaborn plots - displot, pairplot, regplot  (8) 2022.06.10
Visualization - Graphs summarized  (0) 2022.05.02
violin plot (+seaborn)  (0) 2022.03.27
box plot (+seaborn)  (0) 2022.03.25

댓글