2017-02-26 103 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