如何在R中绘制没有图例的栅格图层?

jogvjijk  于 2023-03-10  发布在  其他
关注(0)|答案(1)|浏览(189)

我试图绘制一个没有图例或比例尺的光栅图层。我不想使用ggplot,只想使用base R或光栅包。这是因为我还想在没有图例的初始图层上覆盖额外的光栅图层,而这在ggplot中似乎很难做到。
下面是我正在使用的光栅图层,希望打印时不使用图例/比例尺:

library(raster)
library(RColorBrewer)

# Define common variables
extent.x <- 100
extent.y <- 100
resol    <- 100

# Half-forest terrain layer
env <- raster(nrow=extent.x,ncol=extent.y,xmn=0,xmx=(extent.x*resol),ymn=0,ymx=(extent.y*resol),resolution=resol)
env[1:50 ,] <- 1 # Plains
env[51:100 ,] <- 2 # Forest
plot(env)

# An example layer that I would like to plot over the env layer
popLayer <- env
popLayer[,] <- 0
popLayer[50,50] <- 1000

# Define a new color gradient for the pop raster layer
rasterColors <- colorRampPalette(c("white", "red"))

# Set breaks of the gradient
cuts <- c(0, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000)

# Plot the env layer, then plot the pop layer on top of it and use the color gradient above
plot(env)
popLayer[popLayer == 0] <- NA
plot(popLayer, add = TRUE, col = rasterColors(2))

正如你所看到的,两个比例尺也是相互重叠绘制的,并且是不可读的。我怎样才能绘制没有图例的第一层,使第二层的比例是可读的?
我试过使用par()来操纵图例绘制,但我不确定如何将其应用于我绘制两个光栅图层的情况。如前所述,我也尝试过使用ggplot,但这也证明了很难应用。
这是我的第一个问题,所以提前感谢您,如果有些格式不正确,我向您道歉。

sigwle7e

sigwle7e1#

在第一个plot调用中使用legend = FALSE

plot(env, legend = FALSE)
popLayer[popLayer == 0] <- NA
plot(popLayer, add = TRUE, col = rasterColors(2))

相关问题