2014-11-22 2 views
2

센서스 국의 2013 년 셰이프 파일에서 미국 카운티를 플로팅하려는 시도에서 결과 플롯에 홀/이상한 채우기가 발생합니다. 특히 불연속 영역이있는 카운티 주변에서는 특히 그렇습니다. 나는 그것이 플롯 된 점의 순서와 관련이 있다고 생각하지만, 어떻게 고정시킬 수 있을지 모르겠습니다. 예를 들어, 특히 키 주위 플로리다의 플롯은, 생산 :ggplot2를 사용하여 쉐이프 파일을 플로팅 할 때의 결과

여기
library(ggplot2) 
library(dplyr) 
library(rgdal) 

download.file('http://www2.census.gov/geo/tiger/GENZ2013/cb_2013_us_county_500k.zip', 
'county.zip') 
unzip('county.zip') 

uscounties <- readOGR(.,'cb_2013_us_county_500k') 
[email protected]$id <- rownames([email protected]) 
countypoints <- fortify(uscounties, region='id') 
countydf <- join(countypoints, [email protected], by='id') 

ggplot(countydf[countydf$STATEFP=='12' ,])+ 
    aes(long, lat, group=COUNTYNS, fill=STATEFP)+ 
    geom_polygon()+ 
    geom_path(color="black")+ 
    coord_equal() 

은 결과 플롯이다 : 플로리다는 예입니다. 다른 대부분의 주에서는 플로팅에서 유사한 오류가 표시됩니다. 수정 방법에 대한 아이디어가 있습니까?

+0

당신의 코드에서,'readOGR (., 'cb_2013_us_county_500k')'에'Error in nchar (dsn) : object '. 찾을 수 없습니다. ' 코드를 재현 가능하게 만드시겠습니까? – Andrie

+0

또한 패키지는'join()'함수입니까? – Andrie

답변

2

group=COUNTYNS ?? 을 사용하십시오. 당신은 질문을 게시 할 때 사람들의 시간을 낭비하지 않도록 더욱주의를 취할 필요가

ggplot(countydf[countydf$STATEFP=='12' ,])+ 
    aes(long, lat, group=group, fill=STATEFP)+ 
    geom_polygon()+geom_path(color="black")+coord_equal() 
.. join(...)

readOGR(.,"...") 

아무튼 패키지 plyr하지 dplyr이며, 작동하지 않아도됩니다.

readOGR(dsn=".",layer="...") 
+0

비슷한 문제에서 솔루션 코드가 작동하지만, 코드 블록에 글을 쓸 때만'group = group'을 사용하십시오. 'group = id' 버전은 아티팩트를 생성합니다. –