我想使用常见的颜色填充将TN州的多个县表示为单个区域。我可以使用以下代码执行此操作:
library(maps)
map("state", "tennessee", fill = TRUE, col="white", names = TRUE, plot = TRUE)
co <- map("county",region = c("tennessee,williamson","tennessee,davidson",
"tennessee,wilson","tennessee,cheatham"),
col = "red", bg = "blue", fill = TRUE, plot = FALSE)
polygon(co$x, co$y, col = "yellow", border = "black")
但黑色边框是在我感兴趣的区域内绘制的。有没有办法定义多边形函数,使得普通的县边界不是用黑色绘制的?
谢谢。
答案 0 :(得分:2)
map.poly()
致电as.polygon=FALSE
,然后使用lines()
进行投影。 map.poly()
与as.polygon=TRUE
进行通话,然后使用polygon()
和border=FALSE
进行绘制。如果您通过在命令行输入map
并查看输入来查看map("state","tennessee",fill=T,col="white",names=T,plot=T)
coords = map.poly("county",region=c("tennessee,williamson","tennessee,davidson","tennessee,wilson","tennessee,cheatham"), boundary=T, interior=F, fill=F, as.polygon=T)
polygon(coords, col='red', border=F)
map("county",region=c("tennessee,williamson","tennessee,davidson","tennessee,wilson","tennessee,cheatham"),fill=F,interior=F,add=T)
的代码,就可以看到这一点。
以下是我用来获得你想要的代码:
?map
从阅读map(..., interior=F, fill=T, col='red')
开始,我认为简单地执行类似{{1}}的操作会起作用,但这似乎并没有。可能是一个错误,但我没有使用这个包足以确定... ...
答案 1 :(得分:2)
您可能希望阅读R Spatial任务视图,并使用package:maptools来读取和绘制Shapefile。然后你可以使用package:rgeos来解散一个县shapefile的边界,或者获取一个县和一个状态shapefile并分别绘制它们。
旧地图&#39;包裹有点限制。