SpatialPolygons nesneleri için çokgen dolgu rengini ve kenarlık rengini nasıl değiştiririm?


25

Çizmek istediğim SpatialPolygons veya SpatialPolygonsDataFrames'im var. R'deki üç çizim sistemini kullanarak rengi nasıl değiştiririm (temel grafikler, kafes grafikler ve ggplot2)?

Örnek veri:

library(sp)
Srs1 = Polygons(list(Polygon(cbind(c(2,4,4,1,2),c(2,3,5,4,2)))), "s1")
Srs2 = Polygons(list(Polygon(cbind(c(5,4,2,5),c(2,3,2,2)))), "s2")

SpDF <- SpatialPolygonsDataFrame( SpatialPolygons(list(Srs1,Srs2)), 
            data.frame( z=1:2, row.names=c("s1","s2") ) )
spplot(SpDF, zcol="z")

test haritası

Yanıtlar:


33

Temel grafikler ( plot)

Temel grafiklerde col=dolguyu ve border=kenarlık rengini ayarlar.

plot(SpDF, col="red",border="green")

Bir choropleth haritası istiyorsanız col=, her poligonun veri değeri için bir renk vektörüne ayarlayın .

temel grafik

Kafes grafikleri ( spplot)

Temel grafiklerden farklı olarak, col=kafes grafik seçeneği sınır rengini kontrol eder. Kenarlık yoksa veya olarak ayarlayıncol=NAcol="transparent" .

spplot(SpDF, zcol="z", col=NA)

sınır yok

Çokgen dolgu için ayarlanmış col.regionsbir standardı R renk düzeni (üzere gray, rainbow.colors, topo.colorsvs.):

spplot(SpDF, zcol="z", col.regions=gray(seq(0,1,.01)))

col.regions

ggplot2

Ggplot2 için her zamanki gibi seviyeleri belirlersiniz ve renk şemasını seçer. Ancak, tüm arsa için düzeni geçersiz kılabilirsiniz. Bir noktada takip edilecek detaylar.


Harika soru / cevap. Belki de arka plan rengini ayarlama hakkında bilgi eklemek istersiniz. Arka plan rengini ayarlamak için spplotkullanın par.settings = list(panel.background=list(col="lightblue")).
nograpes 15
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.