2017-02-26 105 views
1

我有5个光栅的光栅栈(这里以s发明实施例)中的R的最大光栅堆的,我想使最大和最小值的两个曲线从该重新建立了新此使用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

有没有什么办法可以使这[可重现的问题](http://stackoverflow.com/questions/5963269/how-对做 - 一个伟大-R-重复性,例如)?在一般情况下说话有点困难。 – r2evans

+0

感谢r2evans插入的通用示例。 – Arferion

回答

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

+0

洛伦佐,就像一个魅力!非常感谢。 – Arferion