geom_sf()
должно работать без проблем с ggplot2::scale_*_continuous()
, где вы можете использовать аргумент breaks =
. Будьте осторожны с западными долготами, так как они отрицательны в данных, но положительны в метках.
Я включил несколько примеров ниже:
library(sf)
# sample data
nc <- st_read(system.file("shape/nc.shp", package="sf"))
# No edits to graticules
nc_1 <- ggplot(nc) +
geom_sf() +
ggtitle('original')
nc_2 <- ggplot(nc) +
geom_sf() +
scale_y_continuous(breaks = c(34, 35, 36)) +
scale_x_continuous(breaks = seq(-84, -76, by = 1)) +
ggtitle('fewer lat, more lon')
nc_3 <- ggplot(nc) +
geom_sf(data = st_graticule(nc,
lat = seq(34, 36, by = 1),
lon = seq(-84, -76, by = 4)),
color = 'orange') +
geom_sf() +
coord_sf(datum = NA) +
ggtitle('using st_graticule')
# using cowplot to output single image, rather than 3
cowplot::plot_grid(nc_1, nc_2, nc_3, ncol = 1)
Вы должны иметь возможность использовать выходные данные st_bbox для автоматизации разумного числа сеток (линий сетки), если это необходимо.