R 또는 Python의 우편 번호로 컬러 맵 플롯
문제
미국 인구 통계 학적 및 단호한 데이터가 있습니다.
주 또는 작은 지역 (예 : 도시)에서 우편 코드 영역을 플로팅하고 싶습니다. 각 영역은 해당 영역에 특정한 색상 및/또는 텍스트별로 주석이납니다. 출력은 비슷합니다 http://maps.huge.info/ 그러나 a) 주석이 달린 텍스트; b) PDF 출력; c) R 또는 Python에서 스크립트 가능.
이 작업을 수행 할 수있는 패키지와 코드가 있습니까?
해결책
나는 당신이 정적지도를 원한다고 가정합니다.
(원천: eduardoleoni.com)
1)의 모양 파일을 얻으십시오 지퍼 경계 및 상태 Census.gov의 경계 :
2) 플롯을 사용하십시오. 그래서 질문.
예를 들어 (지도 하위 디렉토리에 메릴랜드 모양 파일이 있다고 가정) :
library(maptools)
##substitute your shapefiles here
state.map <- readShapeSpatial("maps/st24_d00.shp")
zip.map <- readShapeSpatial("maps/zt24_d00.shp")
## this is the variable we will be plotting
zip.map@data$noise <- rnorm(nrow(zip.map@data))
## put the lab point x y locations of the zip codes in the data frame for easy retrieval
labelpos <- data.frame(do.call(rbind, lapply(zip.map@polygons, function(x) x@labpt)))
names(labelpos) <- c("x","y")
zip.map@data <- data.frame(zip.map@data, labelpos)
## plot it
png(file="map.png")
## plot colors
plot.heat(zip.map,state.map,z="noise",breaks=c(-Inf,-2,-1,0,1,2,Inf))
## plot text
with(zip.map@data[sample(1:nrow(zip.map@data), 10),] , text(x,y,NAME))
dev.off()
다른 팁
r에서 이것을하는 방법에는 여러 가지가 있습니다 (참조 공간적 견해); 이것들 중 다수 "맵"패키지에 따라 다릅니다.
이것을 확인하십시오 미국 2004 년 선거의 멋진 예. 다음과 같이 보입니다.
다음은 모델의 약간 추악한 예입니다 "맵"패키지를 "격자"로 사용합니다.
- Andrew Gelman은 이와 같은 아주 멋진 음모를 만들었습니다. 예를 들어, Red States/Blue 상태에 대한이 블로그 게시물 그리고 이 후속 게시물.
매우 간단한 예입니다 "gmaps"패키지 사용, 살인에 대한 10 만 명당 체포에 대한 주 체포지도를 보여줍니다.
require(gmaps) data(USArrests) attach(USArrests) grid.newpage() grid.frame(name="map") grid.pack("map",USALevelPlot(states=rownames(USArrests),levels=Murder,col.fun=reds),height=unit(1,'null')) grid.pack("map",gradientLegendGrob(at=quantile(Murder),col.fun=reds),side="bottom",height=unit(.2,'npc')) detach(USArrests)
누군가가 당신에게 더 직접적인 것을 가지고 있을지 모르지만, 나는 매우 흥미로운 O'Reilly의 '데이터 매시업을 발견했습니다. 부분적으로는 주택 차압 경매의 공간 매핑입니다.
파이썬에서는 미국 인구 조사의 모양 파일을 basemap
패키지. 다음은 다음과 같습니다 상태를 채우십시오 인구에 따르면.
R에는 플롯, DO 분석 및 GIS와 관련된 기타 기능이 풍부하고 정교한 일련의 패키지가 있습니다. 시작할 수있는 한 곳은 Cran Task View입니다. 공간 데이터: 이것은 복잡하고 때로는 비전적인 세상이며 이해하기 위해 약간의 노력이 필요합니다.
무료, 매우 기능적인 매핑 응용 프로그램을 찾고 있다면 다음을 제안 할 수 있습니다.
mapwindow (mapwindow.com)
TechCrunch Trends의 Daniel Levine The와 함께 좋은 일을했습니다 maps
R의 패키지는 그의 사이트에도 코드를 사용할 수 있습니다.
Ben Fry가 Zipdecode를 만드는 데 사용했던 처리를 조사한다는 Paul의 제안은 또한 (자바와 같은) 새로운 언어를 배우고 있다면 좋은 것입니다.
응용 프로그램에 따라 먼 길은 다음과 같은 것을 사용하는 것일 수 있습니다.
http://googlemapsmania.blogspot.com/2006/07/new-google-maps-us-zip-code-mashups.html
데이터를 매핑합니다. 그것이 당신이 원했던 것이 아니라면, Census.gov에서 원시 우편 번호 모양 파일을 얻고 수동으로 할 수 있습니다.
또한 보지 못했다면 이것은 유사한 데이터와 상호 작용하는 깔끔한 방법이며 몇 가지 포인터를 제공 할 수 있습니다.
IBM 의이 우수한 온라인 시각화 도구를 확인하십시오http://manyeyes.alphaworks.ibm.com/manyeyes/
편집하다 참고로, ManyEyes를 사용합니다 시각화 툴킷을 선사합니다 그 viz의 일부를 위해. Java 기반 프레임 워크이지만 웹에 플래시/액션 스크립트 도구도 제공합니다.