R'deki raster efsanesi: belirli değerler nasıl renklendirilir?


30

R çizilen bir yükseklik modeli var

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

Yükseklik arsa

Değerlerin bazıları deniz seviyesinin altındadır (0) ve bu göstergelerin kırmızı olmasını istiyorum. Arsadaki () arsadaki belirli renklere belirli aralıkları nasıl atayabilirim?

Yanıtlar:


33

İşte gerçekten basit bir örnek

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)

görüntü tanımını buraya girin

Kırılma noktalarına uyacak şekilde bir kırılma noktası vektörünü ve renk vektörünü geçmeniz yeterlidir. RColorbrewerBazı renkli rampalar için çok hoş bir pakete göz atın . Ayrıca classIntkesme noktaları yapmak için paketi kontrol edin .


Ne kadar zamandır bununla kibirli olduğum için utanç verici. Renkli bira rampalarından renkli rampaları ithal etmenin kolay bir yolu var mı? EDIT: üzgünüm, şimdi bir paketten bahsettiğinizi görüyorum, siteden değil!
Simbamangu

3
@Simbamangu, Hepimiz oradaydık. Aslında bu karışıklığı yapmanın birçok örneğini, diğer paketlerden yaratılan nesneleri (önerdiklerime benzer şekilde) kullanarak, sınır değerler ve renkler olarak geçirilmekte olan şeyleri buluyorum. Bence böyle görmenin en kolay yolu olduğunu düşünüyorum ve daha sonra çok fazla iş yapmadan uygun kesme noktaları ve renk rampaları oluşturmak için diğer paketleri kullanmaya devam ettiğimi düşünüyorum.
Andy W.

4
Buna tamamen katılıyorum - R paketlerinin çoğundaki örnekler, diğer nesnelerden çok fazla şey geçirilerek anlaşılması zor!
Simbamangu
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.