在试图从人口普查局的2013年形状文件中绘制美国县时,得到的地块有漏洞/奇怪的填充,特别是在不连续区域的县周围。我认为它与绘制的点的顺序有关,但不确定如何修复它。例如,佛罗里达州的情节,特别是密钥周围的情节产生:
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' )
uscounties@data$id <- rownames(uscounties@data)
countypoints <- fortify(uscounties, region='id')
countydf <- join(countypoints, uscounties@data, by='id')
ggplot(countydf[countydf$STATEFP=='12' ,])+
aes(long, lat, group=COUNTYNS, fill=STATEFP)+
geom_polygon()+
geom_path(color="black")+
coord_equal()
以下是结果图: 佛罗里达只是一个例子。大多数其他州也会在绘图中显示类似的错误。有关如何修复的任何想法?
答案 0 :(得分:3)
你为什么要设置group=COUNTYNS
?使用group=id
。
ggplot(countydf[countydf$STATEFP=='12' ,])+
aes(long, lat, group=group, fill=STATEFP)+
geom_polygon()+geom_path(color="black")+coord_equal()
发布问题时需要更加小心,以免浪费人们的时间.. join(...)
包在plyr
而非dplyr
,
readOGR(.,"...")
不起作用,你需要
readOGR(dsn=".",layer="...")