组合多个 ggplot2 多边形/路径

att*_*ool 2 r ggplot2

我正在使用 ggplot2 创建县级数据的等值区域图。我想强调多县地区。覆盖县地图数据子集的路径或多边形非常简单,但这会留下“内部”路径线。有没有办法将这些区域合并为一组或简单地隐藏内部线条?

require(ggplot2)
require(maps)
require(maptools)

va <- map_data("county", region="virginia")

ggplot(va, aes(long, lat)) + coord_map() + 
  geom_polygon(aes(group=group)) +
  geom_path(data=subset(va, subregion %in% c("patrick", "henry", "franklin",
    "pittsylvania")), aes(group=group), size=1, color="white")
Run Code Online (Sandbox Code Playgroud)

https://i.stack.imgur.com/BIiAG.png

编辑:上面的例子并不完全是我想要做的。下面的代码更能代表实际项目。实际的地图将比这更详细,因为它们使用人口普查区级别的数据并在顶部有地理编码点。

va <- map_data("county", region="virginia")
cty <- data.frame(subregion=unique(va$subregion))
cty$stat <- sample.int(nrow(cty))
va <- merge(va, cty, by="subregion")

p <- ggplot(va, aes(long, lat)) + coord_map() + 
  geom_polygon(aes(group=group, fill=stat), color="grey") +
  geom_path(data=subset(va, subregion %in% c("patrick", "henry", "franklin",
    "pittsylvania")), aes(group=group), size=1, color="white")
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

Gee*_*cid 5

如果我没理解错的话,你只需要换成geom_path没有geom_polygon内部线的绘图:

ggplot(va, aes(long, lat)) + coord_map() + geom_polygon(aes(group=group)) + 
   geom_polygon(data=subset(va, subregion %in% c("patrick", "henry", "franklin",
   "pittsylvania")), aes(group=group), size=1, color="white",fill="white")
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述