Python으로 만드는 시각화 :: 공간시각화 응용
서울의 구별 코로플레스에 이어
'읍면동'버전 코로플레스를 제작해보았습니다!
우선 지난번에 만들었던 지도시각화는
commons.wikimedia.org에서 다운로드한
서울의 시군구 svg를 활용하여 제작하였습니다.
시군구 지도는 25개의 구별로 확인 할 수있지만
더욱 세밀한 정보, 즉 [읍면동]의 정보를 얻지는 못하게 됩니다.
그래서 오늘 살펴볼 것은
서울시 동별 데이터를 바탕으로
보다 '세밀한' 지도시각화입니다.
먼저 오늘 사용할 데이터는
서울공공데이터포털에서 다운로드한
[서울시 동별 의료기관수 - 치과의원]입니다.
서울시 동별 치과의원 - 코드로 정리
다운로드 받아 열어보면 이렇게
메모장에 데이터가 정리되어있습니다.
첫 번째 열[a1,a2...]는 각 동을 구분하는 코드인데요
svg파일과 연결하기위해 임의로 지정해 두었습니다.
(아래에서 한번 더 설명하겠습니다^^)
두 번째 열[28,4...]는 치과의원의 수입니다.
그러면 이제 svg파일을 살펴보겠습니다.
다운을 받으시고 에디터로 열어보시면
이런 형태를 확인할 수 있습니다.
사진 속 [빨간네모박스]의 'id'는
서울시 동별 코드 순서[내림차순]를 의미하며
서울시 동의 숫자만큼, a1부터 a423까지 있습니다.
잘이해가 안간다면
쉽게, 아까 다운받은 텍스트파일을 살펴볼까요
여기에 다시 [a1,a2...]시리즈가 보이시지요?
txt파일의 a1과, svg파일의 a1을 연결시키는 것입니다.
정리하면~
python이 txt파일의 a1을 읽은 뒤
svg파일의 a1원에 색을 채워넣도록 하는 겁니다.
그럼 python으로 작업을 시작해볼까요?
그럼 python으로 작업을 시작해볼까요?
뷰티풀수프를 부르고나서
seoul_dentist파일을 읽은 뒤,
svg파일까지 읽음으로서 준비를 준비단계를 마칩니다.
세부적인 설정사항입니다.
paths = soup.findAll('g')코드는
svg안의 g패스를 모두 찾으라는 명령어입니다.
g_style에서는 svg의 세부적인
design설정을해줄 수 있습니다.
이제 이 부분에서는
치과의원 데이터값마다 다른 색을 부여해줍니다.
이 값은 데이터 파일마다
적용하는 방식이 다르겠지요?
저는 [0, 5, 20..]이렇게 15단위로
지정해봤습니다.
여기까지하고 python을 RUN해줍니다.
그다음 cmd로 방금 run해줬던 py[python파일형식]을
svg형식으로 만들어줍니다.
이제 디렉토리로 돌아가서
저장되어있는 svg파일을 열기만하면 끝!
* cmd에서 파이썬 폴더 경로로 바꾸어 주어야 합니다.
방법은 cd "파이썬폴더위치입력" 입니다.
예시)cd "c:\Python27"
완성된 모습입니다.
이제 그래픽프로그램을 이용하여
마무리작업을 해주면 됩니다.
저는 일러스트를 이용합니다^^;
라벨을 추가하여 마무리를 해봤습니다^^
수고하셨습니다~
'시각화 > 파이썬' 카테고리의 다른 글
Python으로 만드는 시각화 :: 공간시각화 :: 지도시각화 만들기 #2 (11) | 2014.03.10 |
---|---|
Python으로 만드는 시각화 :: 공간시각화 :: 지도시각화 만들기 #1 (0) | 2014.03.05 |
▶Python을 이용한 데이터시각화 :: 데이터 수집하기 #1 (1) | 2014.02.13 |