我有一个由5个栅格组成的光栅堆栈(s中发明的示例),我想从这个堆栈中制作两个最大值和最小值的图表 - 使用max / min(a)这相当简单。
r <- raster(nrows=10,ncols=100)
r[] <- rnorm(1000)
s <- stack(r,r,r,r,r)
a<-max(s, na.rm=T)
plot(a)
但是,我想要做的是绘制,但应用特定于栅格的颜色。因此,例如,如果单元格中的最大值来自堆栈中的栅格3,则图中的单元格将显示为红色,在下一个单元格中,最大值来自栅格5,然后是绿色等...是否存在无论如何将栅格特定颜色应用于这样的栅格堆栈图?
我确信这很简单,但我会绕圈子走。如果有人有任何想法,我将非常感激。
答案 0 :(得分:1)
您应该使用which.max
代替max
来获取每个像素的最大值(注意我必须更改您的exmple数据,因为您生成的堆栈具有相同的栅格):
r1 <- raster(nrows=10,ncols=100, vals =rnorm(1000))
r2 <- raster(nrows=10,ncols=100, vals =rnorm(1000))
r3 <- raster(nrows=10,ncols=100, vals =rnorm(1000))
r4 <- raster(nrows=10,ncols=100, vals =rnorm(1000))
r5 <- raster(nrows=10,ncols=100, vals =rnorm(1000))
s <- stack(r1,r2,r3,r4,r5)
wheremax<-which.max(s)
plot(a)
要获得所需的颜色,只需在绘制wheremax