我正在使用tidyterra
绘制一张上面有ggplot2
个点的栅格 map :
library(ggplot2)
library(rnaturalearth)
library(terra)
library(tidyterra)
backmap <- ne_download(scale=50, type="MSR_50M", category="raster") # will download a 17MB map
data <- data.frame(longitude=runif(10, -180, 180), latitude=runif(10, -90, 90)) # simulate points
ggplot(data, aes(longitude, latitude)) +
geom_spatraster(data=backmap) +
geom_point() +
coord_sf(crs='+proj=lonlat', expand=F)
I would like to have the graticules drawn above the raster map,目前它们位于其下方,并且仅在贴图不完全不透明时可见:
ggplot(data, aes(longitude, latitude)) +
geom_spatraster(data=backmap, alpha=.5) +
geom_point() +
coord_sf(crs='+proj=lonlat', expand=F)
我知道我可以像在this SO answer中描述的那样使用theme(panel.background=element_blank(), panel.ontop=T)
来使网格高于一切,但是点在网格之下是我不喜欢的.
我知道有一个变通办法,在this SO answer个中建议sf::st_graticule()
个,但我想知道ggplot2
个魔术师能否解决绘制相同网格两次的冗余问题.