我试图绘制一个没有图例或比例尺的光栅图层。我不想使用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,但这也证明了很难应用。
这是我的第一个问题,所以提前感谢您,如果有些格式不正确,我向您道歉。
1条答案
按热度按时间sigwle7e1#
在第一个
plot
调用中使用legend = FALSE