Значения NA растра имеют заполнение при построении в ggplot в сочетании с полигонами sf

Я пытаюсь построить растр и простую функцию в ggplot2, графики для меня просто красивее, чем базовые графики.

У меня проблема в том, что значения NA растра имеют серую заливку, и я хочу, чтобы они были прозрачными, имели белый фон и сетку ggplot2

Вот воспроизводимый пример

Загрузка пакетов:

library(sf)
library(raster) 
library(tidyverse)
library(ggspatial)
library(rworldxtra)

Получение данных:

data("countriesHigh")
Peru <- countriesHigh %>% st_as_sf() %>% filter(ADMIN.1 == "Peru")
PeruRaster <- getData('alt', country='PER', mask=TRUE)

Когда я пытаюсь построить их вместе, моя главная проблема заключается в том, что фон (данные NA) имеет серую заливку:

ggplot() + geom_sf(data = Peru) + theme_bw() + layer_spatial(PeruRaster)

введите описание изображения здесь

Любая идея о том, как сделать заливку фона прозрачным, чтобы можно было видеть сетку ggplot?

PS: я тоже пытаюсь

ggplot() + layer_spatial(PeruRaster) + geom_sf(data = Peru, alpha = 0) + theme_bw() 

сейчас, но график занимает некоторое время

1 ответ

Установить это с помощью na.value спор внутри scale_fill_continous

ggplot() + geom_sf(data = Peru) + 
  theme_bw() + 
  layer_spatial(PeruRaster) +
  scale_fill_continuous(na.value = "white")
Другие вопросы по тегам