2017-02-26 8 views
1

私は5ラスターのラスタスタックを持っています(この例では本発明例を作成しました)。このスタックから最大値と最小値の2つのプロットを作成したいと思います。 max/min(a)を使ってかなり簡単です。特定の色でRのラスタースタックの最大値をプロットする

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-大再現性のある例)を作成しますか?一般的に言えば少し難しい。 – r2evans

+0

感謝r2evans、一般的な例が挿入されました。 – Arferion

答えて

1

あなたは(あなたが同じラスタとのスタックを生成したので、私はあなたのexmpleデータを変更しなければならなかったことに注意)各画素ごとに最大である層を得るためにwhich.max代わりにmaxを使用する必要があります。

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

Lorenzoは、魅力的な作品です!本当にありがとう。 – Arferion

関連する問題