본문으로 바로가기

이 글은 버전 0.3.0까지는 맞으며, 17년 11월 현재 최신인 0.5.0에서는 일부 에러가 납니다.

TypeError: choropleth() got an unexpected keyword argument 'geo_path'

위와 같은 에러가 나타나면 버전 문제가 발생한 것이며, [바로가기]를 읽으시길 바랍니다.

얼마전에 구글의 지도 정보를 활용하는 API에 대해 이야기[바로가기]했었는데요. 이번에는 지도 정보를 시각화하는 Python의 많은 모듈중에 Folium을 소개할까 합니다. 다양한 모듈 만큼이나 다양한 기능들이 있지만 Visual 측면에서 저는 Folium이 마음에 들더라구요^^

Anaconda에서는 conda install은 안되구요. 윈도우 터미널로 pip install folium 명령으로 설치해야 합니다.

그러면 이렇게 import가 잘 되겠죠^^

근본적으로 위도(latitude), 경도(longitude) 값을 알고 있다면 위 그림처럼 바로 지도 결과가 나타납니다.^^.

zoom_start라는 옵션으로 처음 지도를 그릴때 확대 축소 정도를 잡아 줄 수 있구요.

기본적인 모양이 아니라 위 그림과 같은 스타일의 지도도 tiles='Stamen Toner'라는 옵션으로 선택해볼 수 있습니다.

또.. tiles='Stamen Terrain'이라는 옵션으로 위 그림과 같은 스타일의 지도를 선택할 수 있습니다.

그리고, 원하는 곳에 Markerpopup을 설정할 수 있습니다. 그리고 마커를 add_to 속성으로 지도객체에 포함시키면 됩니다,

아... icon=folium.Icon(icon='cloud')으로 마커의 아이콘을 구름모양으로 잡을 수 있습니다.

그럼 이제 다양한 아이콘을 위 그림처럼 사용할 수 있지요^^

마커만 되는 것은 아니구요. folium.CircleMaker로 범위를 가진 원모양의 마커도 가능합니다. 색상과 크기를 모두 지정할 수 있지요^^

마커로 다양한 다각형 모양도 가능합니다. 다각형의 수는 number_of_sides로 설정됩니다.

[바로가기]에서 미국의 실업률이라는 csv 파일을 받을 수 있습니다. 각 주별 2012년 실업율이 저장되어 있는 파일인데요.

아... 혹시 이상한 FutureWarning이 싫으신 분들은 위 옵션을 사용하세요^^ 그리고,

역시 방금 링크에서 미국 주 정보의 지리 정보를 가지고 있는 json파일을 받아서 위와 같이 저장하시고...

그리고나면 위 그림처럼 주별 실업률 데이터가 이렇게 잘 시각화 되는 것을 알 수 있답니다.^^

뭐 그냥 있기 뭐하니 우리나라 서울도 살짝~~^^

ㅎㅎ 다음 글에서 서울과 관련된 재미있는 지도 시각화를 해볼께요^^


댓글을 달아 주세요

  1. BlogIcon Ustyle9 2016.12.28 20:44 신고

    구글지도를 잘 활용할 수 있을 것 같네요.

  2. BlogIcon 베짱이 2016.12.29 04:06 신고

    기술적 지식이 없어서 잘은 모르지만
    요즘 크롤링이나 딥러닝 등 해서 파이썬을 많이 사용하는 것 같아요.

  3. BlogIcon IT넘버원 2016.12.30 01:51 신고

    시각화라니 정말 신기합니다.^^
    잘만 쓴다면 정말 유용할거 같아요.^^

  4. 정재호 2017.05.27 15:46 신고

    안녕하세요. 잘 지내셨어요? ^^ 제가 또 질문드리고 싶은게 생겨서 이렇게 글 남기게 되었습니다.

    미국 실업률 데이터를 지도 위에 올리는? 걸 따라하고 있는데요.. 미국 주 정보가 담겨 있는 json 자료를 다운받으려고 우클릭도 해 보고 저장하기를 어떻게든 해 보려고 하니까 확장자 명이 html로 되어야만 한다고 하고 다운이 되질 않더라구요 (참, 저는 맥북을 사용하고 있습니다.) 다운로드를 어떻게 할 수 있는지 알려주실 수 있으세요? ;;

    그리고 다른 질문이 있는데요, 제가 서울의 각 동별 정보가 있는 json 파일을 다운받았고, 제가 가지고 있는 동별 자료를 매칭?시키려고 했는데, 제가 받은 json 파일에는 미국 주 정보 자료와 달리 각 동을 따로 id로 구분하지는 않았더라구요. 미국 지도에서는 id도 있고, 주 이름도 있던데, 혹시 이런 경우에는 각 동별로 아이디를 자동으로 부여할 수 있는 방법이 있을까요? (엑셀에서 숫자 1을 넣고 드래그 하면 자동으로 숫자가 채워지는 것처럼..; 제가 프로그래밍을 잘 할 줄 모르니 엑셀 같은 프로그램이 얼마나 굉장한 것인지 매일매일 새롭게 깨닫고 있습니다. )

    감사합니다!

    • BlogIcon PinkWink 2017.05.29 04:45 신고

      그 글의 상위 폴더 개념인
      https://github.com/python-visualization/folium
      로 가셔서 전체를 다운받은 다음 해당 폴더를 찾아가시면 됩니다.^^