我有两个多边形的'.shp'文件。我需要通过填充一个变量使其中一个出现在地图上,另一个则仅出现在边界上,重叠在第一个上。
我已经使用了'ggplot2'和'sf'。我使用'ggplot'和'geom_sf'绘制了一张地图('map1'),它由多边形层组成。我使用'map1'中包含的变量('var1')作为'fill'。
现在,我需要添加(覆盖)另一层多边形在顶部('map2')。这将必须是'透明填充'或'无填充'。只显示边框的轮廓。
我已经使用了'ggplot2'和'sf'。我使用'ggplot'和'geom_sf'绘制了一张地图('map1'),它由多边形层组成。我使用'map1'中包含的变量('var1')作为'fill'。
现在,我需要添加(覆盖)另一层多边形在顶部('map2')。这将必须是'透明填充'或'无填充'。只显示边框的轮廓。
library(ggplot2); library(sf)
map1 <- st_read("m1.shp") #reading polygon layer map 1
map2 <- st_read("m2.shp")#reading polygon layer map 2
g <- ggplot(map1, aes(fill = var1)) +
geom_sf()
我该如何添加“map2”以覆盖这张地图?
实现的想法是:
g <- ggplot(map1, aes(fill = var1)) +
geom_sf() +
ggplot(map2, aes()) +
geom_sf()
#Error: Don't know how to add ggplot(map2, aes()) to a plot
ggplot(data) + geom_line() + geom_point()
。你只需要调用一次ggplot
,然后就可以在创建的对象上添加多个图层。如果你需要针对某个图层使用特定的数据,请在geom中使用data
参数。 - camille