在 ggplot 中结合 sf 的 poligons 进行绘图时,栅格的 NA 值具有填充

Der*_*ran 3 ggplot2 r-raster r-sf

我正在尝试在 ggplot2 中绘制一个栅格和一个简单的特征,这些图表对我来说比基本图更漂亮。

我遇到的问题是栅格的 NA 值有灰色填充,我希望它们是透明的以具有白色背景和 ggplot2 的网格

这是一个可重现的示例

加载包:

library(sf)
library(raster) 
library(tidyverse)
library(ggspatial)
library(rworldxtra)
Run Code Online (Sandbox Code Playgroud)

获取数据:

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

当我尝试将它们绘制在一起时,我的主要问题是背景(NA 数据)具有灰色填充:

ggplot() + geom_sf(data = Peru) + theme_bw() + layer_spatial(PeruRaster)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

关于如何使背景填充透明以便可以看到 ggplot 的网格有什么想法吗?

PS:我也在努力

ggplot() + layer_spatial(PeruRaster) + geom_sf(data = Peru, alpha = 0) + theme_bw() 
Run Code Online (Sandbox Code Playgroud)

现在但是图表需要一段时间

seb*_*rno 9

na.value使用其中的参数设置它scale_fill_continous

ggplot() + geom_sf(data = Peru) + 
  theme_bw() + 
  layer_spatial(PeruRaster) +
  scale_fill_continuous(na.value = "transparent")
Run Code Online (Sandbox Code Playgroud)

  • `scale_fill_continuous(na.value = "transparent")` 应该可以工作。 (6认同)