Я пытаюсь получить два отдельных градиента для земли и воды на карте.Я могу получить градиент воды (первая цифра), но не землю.
Как я могу установить серый градиент для земли в этом коде (аналогично рисунку 2 ниже)?
Пример данных
library(marmap)
library(ggplot2)
greys <- c(grey(0.6), grey(0.93), grey(0.99))
# Get map data
bat <- getNOAA.bathy(-68, -51, -48, -39, res = 1, keep = TRUE)
Создание графика с градиентом воды
autoplot(bat, geom = c("raster", "contour"), colour = "white", size = 0.1) +
scale_fill_gradientn(limits = c(-6600, 0), colors = c("steelblue4", "#C7E0FF")) +
NULL
Я пытался установить различные пределы в scale_fill_gradientn
, но без особой удачи:
autoplot(bat, geom = c("raster", "contour"), colour = "white", size = 0.1) +
scale_fill_gradientn(limits = c(min(bat), max(bat)),
colors = c("steelblue4", "#C7E0FF", greys)) +
NULL
Требуемый выход (выполняется с использованием функций построения графика R)
plot(bat, image = TRUE, land = TRUE, lwd = 0.1, bpal = list(c(0, max(bat), greys), c(min(bat), 0, blues)))
plot(bat, lwd = 0.8, deep = 0, shallow = 0, step = 0, add = TRUE) # highlight coastline