Rのラスター凡例:特定の値に色を付ける方法は?


30

Rに標高モデルがプロットされています

r <- raster("example.dem")
plot(r, col = topo.colors(20))

標高プロット

一部の値は海面下(0)であり、赤で表示したいのですが。plot()で特定の範囲を特定の色に割り当てるにはどうすればよいですか?

回答:


33

これは本当に簡単な例です

library(raster)
data(volcano)
volcanoR <- raster(volcano)

#making colors below 100 red and above 180 blue in this example

breakpoints <- c(94,100,120,140,160,180,195)
colors <- c("red","white","white","white","white","blue")
plot(volcanoR,breaks=breakpoints,col=colors)

ここに画像の説明を入力してください

ブレークポイントに一致するブレークポイントのベクトルと色のベクトルをプロットに渡すだけです。RColorbrewerパッケージをチェックして、組み込みのカラーランプを確認してください。またclassInt、ブレークポイントを作成するためのパッケージをチェックアウトします。


素晴らしい-どれだけ私がこれをいじったか恥ずかしい。カラーbrewerからカラーランプをインポートする簡単な方法はありますか?編集:申し訳ありませんが、サイトではなくパッケージを参照していることがわかりました!
シンバマング

3
@Simbamangu、私たちはすべてそこにいました。私は実際に、他のパッケージ(私が提案するものなど)から作成されたオブジェクトを使用して、実際にブレークポイントおよび色として渡されているものをこの難読化する例の多くを見つけます。このように表示してから、他のパッケージを使用して適切なブレークポイントとカラーランプを作成し、それほど多くの作業を行う必要はありません。
アンディW

4
私はそれに完全に同意します-多くのRパッケージの例は、他のオブジェクトから持ち越されすぎて、理解するのが本当に難しいです!
シンバマング
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.