结合R语言中的光栅图例
Combining rasters' legends in R language
很抱歉我无法解决这个明显愚蠢的问题,即使在谷歌搜索了一段时间之后也是如此。让我们假设以下情况,我有两个重叠但值等级不同的栅格。
library(raster)
# A couple of rasters from scratch
r2 <- r1 <- raster(nrows=10, ncols=10)
r1[] <- sample(c(0:99), 100, replace = F)
r2[] <- sample(c(50:149), 100, replace = F)
par(mfrow = c(1,2))
plot(r1)
plot(r2)
如何创建相同的图,但只有一个范围从 0 到 149 的图例,即两个栅格的组合等级?
根据我在之前评论中分享的答案,您可以手动设置图例的中断和颜色。然后您只需要将该色带应用于两个图。这是代码和情节。
# Adjust plot margins
par(mar=c(2,2,2,5))
# Set manually the breaks
breaks = seq(0,150,25)
pal <- colorRampPalette(c("white","orange","yellow","green","forestgreen"))
plot(r1, breaks=breaks, col = pal(length(breaks)-1))
plot(r2, breaks=breaks, col = pal(length(breaks)-1))
很抱歉我无法解决这个明显愚蠢的问题,即使在谷歌搜索了一段时间之后也是如此。让我们假设以下情况,我有两个重叠但值等级不同的栅格。
library(raster)
# A couple of rasters from scratch
r2 <- r1 <- raster(nrows=10, ncols=10)
r1[] <- sample(c(0:99), 100, replace = F)
r2[] <- sample(c(50:149), 100, replace = F)
par(mfrow = c(1,2))
plot(r1)
plot(r2)
如何创建相同的图,但只有一个范围从 0 到 149 的图例,即两个栅格的组合等级?
根据我在之前评论中分享的答案,您可以手动设置图例的中断和颜色。然后您只需要将该色带应用于两个图。这是代码和情节。
# Adjust plot margins
par(mar=c(2,2,2,5))
# Set manually the breaks
breaks = seq(0,150,25)
pal <- colorRampPalette(c("white","orange","yellow","green","forestgreen"))
plot(r1, breaks=breaks, col = pal(length(breaks)-1))
plot(r2, breaks=breaks, col = pal(length(breaks)-1))