Geo*_*-sp 2 plot r raster lattice r-raster
我想更改海洋颜色(在 shapefile 边界之外)。我可以剪辑栅格并更改背景颜色,但在这里我想使用添加的 shapefile 来实现。
library(raster)
library(rasterVis)
library(maps)
library(maptools)
library(mapdata)
r <- raster(nrow=361, ncol=576, ymn=-90, ymx=90)
values(r) <- 1:ncell(r)
data(wrld_simpl, package = "maptools")
levelplot(r)+ layer(sp.polygons(wrld_simpl, lwd=0.1, col='gray'))
Run Code Online (Sandbox Code Playgroud)
首先,使用 SpatialPolygons 对象遮罩 Raster。未覆盖的单元格设置为 NA。
land <- mask(r, wrld_simpl)
Run Code Online (Sandbox Code Playgroud)
现在,更改背景颜色(用于 NA 单元格):
catTheme <- rasterTheme(panel.background = list(col='lightskyblue1'))
Run Code Online (Sandbox Code Playgroud)
最后,显示结果:
levelplot(land, par.settings = catTheme) +
layer(sp.polygons(wrld_simpl,
lwd=0.1, col='gray'))
Run Code Online (Sandbox Code Playgroud)