#09 데이터 시각화 해외 기사 – 샌프란시스코 범죄 지도화

On 1월 6, 2015

#09 데이터 시각화 해외 기사 – 샌프란시스코 범죄 지도화

안녕하세요 뉴스젤리입니다.

데이터 시각화와 관련된 세번째 해외 기사는 샌프란시스코의 범죄율 데이터에 기반한 시각화 지도와 관련된 기사입니다.

 

<SHARP SHIGHT LABS>

2014년 12월 30일자 기사

Sharpsight Admin

샌프란시스코 범죄 지도화

그림1

 필자가 실리콘밸리의 애플사에서  데이터 과학자로 일하고 있을 때, 밤마다 그리고 주말마다 여자친구와 만나거나 저녁식사를 하기 위해 샌프란시스코로 차를 몰고 갔다.

필자는 소위 말해 그 도시와 사랑에 빠졌고, 최근까지 DataSF를 확인해서 샌프란시스코의 특정지역과 관련된 시각화 결과물을 만들었다.

이미 알려진대로, 시카고필라델피아 같은 곳의 범죄 데이터는 손쉽게 찾아볼 수 있다. 그래서 필자는 범죄 데이터를 다운로드 했고, R 소프트웨어 에서 ggplot++2(통계적 프로그래밍 언어 R을 위한 데이터 시각화 패키지)를 이용해 시각화를 시작했다.

위의 지도는 완성된 결과물이다. 이 지도는 2014년12월 중순 중의 샌프란시스코 범죄 데이터이다.

주목할만한 것은 구성된 코드(스스로 지도를 제작하는 코드)가 오직 12줄 뿐이라는 것이다. 그리고 그 12줄의 대부분의 방대한 코드는 단지 심미적 특징에 대해 필자가 원하는 모습을 만드는 정렬과 미묘한 수정이다. (이것의 룩앤필은 본래 런던의 자전거와 오염에 대한 spatial.ly의 지도에서 영감을 받았다.)

 

library(ggplot2)

 

#################################
# GET CRIME DATA AND SF GEO DATA
#################################

#——————————————
# Download the zipped SF crime data (2014)
#  and save it to the working directory
#——————————————
download.file(“http://www.sharpsightlabs.com/wp-content/uploads/2014/12/sf_crime_YTD-2014-12_REDUCED.txt.zip“, destfile=”sf_crime_YTD-2014-12_REDUCED.txt.zip”)

#——————————
# Unzip the SF crime data file
#——————————
unzip(“sf_crime_YTD-2014-12_REDUCED.txt.zip”)

#————————————
# Read crime data into an R dataframe
#————————————
df.sf_crime <- read.csv(“sf_crime_YTD-2014-12_REDUCED.txt”)

#——————————
# Download water boundaries
#  and neighborhood boundaries
#——————————
df.sf_neighborhoods <- read.csv(url(“http://www.sharpsightlabs.com/wp-content/uploads/2014/12/sf_neighborhood_boundaries.txt“))
df.sf_water <- read.csv(url(“http://www.sharpsightlabs.com/wp-content/uploads/2014/12/sf_water_boundaries.txt“))

################
# PLOT THE DATA
################
ggplot() +
geom_polygon(data=df.sf_neighborhoods,aes(x=long,y=lat,group=group) ,fill=”#404040”,colour= “#5A5A5A”, lwd=0.05) +
geom_polygon(data=df.sf_water, aes(x=long, y=lat, group=group),colour= “#708090″, fill=”#708090″) +
geom_point(data=df.sf_crime, aes(x=df.sf_crime$X, y=df.sf_crime$Y), color=”#FFFF3309″, fill=”#FFFF3309”, size=1.3) +
geom_polygon(data=df.sf_neighborhoods, aes(x=long,y=lat, group=group) ,fill=NA,colour= “#DDDDDD55”, lwd=.3) +
ggtitle(“San Francisco Crime (2014)”) +
theme(panel.background = element_rect(fill=”#708090″)) +
theme(axis.title = element_blank()) +
theme(axis.text = element_blank()) +
theme(axis.ticks = element_blank()) +
theme(panel.grid = element_blank()) +
theme(plot.title = element_text(family=”Trebuchet MS”, size=38, face=”bold”, hjust=0, color=”#777777″))

 

 

다르게 말해, R 소프트웨어에서 ggplot2을 이용해 지도를 제작하는 것은 그렇게 어렵지 않다는 것이다. 단지 ggplot2가 어떻게 작동하는지 이해하기만 하면 된다.

이전에 말했 듯이, ggplot2는 깊은 통사적 구조를 가지고 있다. 한번 그 구조를 알고나면, 겉보기에 복잡해 보이는 시각화 결과물들이라도 제작하기에 더욱더 쉬워질 것이다. 사실, ggplot2의 작동 방법에 대한 깊은 구조 덕택에, 이 지도는 기본적으로 섬세한 산점도이다.

분명히 하지만, 여기에는 필자가 보여주지 않은 많은 데이터 조작과 준비 작업이 있다.

또한 독자들은 이런 식으로 플롯을 구성하는 과정을 반복적으로 되풀이 해야 할 필요가 있다. 즉,  이런 식의 시각화 결과물을 제작하는 데 있어 디자인 프로세스에 대한 탄탄한 이해를 가지고 있어야 한다는 것이다.

그러나 그 중심에는, 이 시각화가 보기와 같이 그다지 제작하기에 어렵지 않다는 사실이 있다.

필자는 이러한 시각화 결과물을 어떻게 제작하는지에 대한 자세한 내용을 단계별로 써나갈 예정이다. 만약 이러한 것의 제작 방법 대해 배우는 것에 관심이 있다면, 이메일 리스트를 등록하면 필자가 언제 자세한 튜토리얼이 가능한지 알려줄 것이다.

 

빅데이터, 공공데이터, 소셜데이터로 말랑한 뉴스를 전달하는 뉴스젤리
http://newsjel.ly/

 

 

  • By 뉴스젤리  0 Comments   
  • 뉴스, 뉴스젤리, 데이터스토리텔링, 데이터시각화, 빅데이터, 해외기사

    0 Comments

    Leave a Reply

    이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.

    two + one =