Я хочу построить пространственные данные из SpatialPolygonDataframe
. Более конкретно, я хочу построить отдельные пространственные объекты на отдельных участках, используя facet_grid()
из ggplot2
. Кроме того, я хотел бы построить общий пространственный многоугольник как оверлей в каждой из граней.
Вот пример, использующий набор пространственных данных США и отдельных штатов. Каждое состояние (подмножества) должно отображаться в одном фасете), тогда как контур США (представленный в другом наборе пространственных данных) должен быть нанесен в виде наложения в каждом фасете. С моей текущей попыткой контур США также разделен (на основе идентификатора) и распределен по граням:
library(sf)
library(ggplot2)
usa <- as(st_as_sf(maps::map(database="usa",fill=T, plot =FALSE)),"Spatial")
usa_states <- as(st_as_sf(maps::map(database="state",fill=T, plot =FALSE)),"Spatial")
usa_states <- usa_states[c(1:5),]
ggplot(data=usa_states)+
geom_polygon(data=usa, aes(x = long, y = lat,group=id),
size = 1, colour = "red",fill=NA)+
geom_polygon(data=usa_states, aes(x = long, y = lat,group=id),
size = 0.3, fill = "green",color="black",alpha=0.2)+
facet_grid(facets= id ~.)
Как я могу указать, что fact_grid учитывает только 'id' набора данных usa_states и не разделяется вверх по плану США?