Come posso cambiare il colore di riempimento del poligono e il colore del bordo per gli oggetti SpatialPolygons?


25

Ho SpatialPolygons o SpatialPolygonsDataFrames che vorrei tracciare. Come posso cambiare il colore usando i tre sistemi di stampa in R (grafica di base, grafica reticolare e ggplot2)?

Dati di esempio:

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")

mappa di prova

Risposte:


33

Grafica di base ( plot)

Per la grafica di base, col=imposta il riempimento e border=imposta il colore del bordo.

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

Se si desidera una mappa coropletica, impostare col=un vettore di colori, uno per il valore dei dati di ciascun poligono.

grafica di base

Lattice graphics ( spplot)

A differenza della grafica di base, l' col=opzione per la grafica reticolare controlla il colore del bordo. Per nessun bordo, impostare col=NAocol="transparent" .

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

nessun confine

Per il riempimento poligono, impostare col.regionsuna combinazione di colori R standard ( gray, rainbow.colors, topo.colors, etc.):

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

col.regions

ggplot2

Come al solito per ggplot2, si specificano i livelli e si sceglie la combinazione di colori. Tuttavia, è possibile ignorare lo schema dell'intera trama. Dettagli da seguire ad un certo punto.


Ottima domanda / risposta. Forse desideri aggiungere informazioni sull'impostazione del colore di sfondo. Per impostare il colore di sfondo spplot, utilizzare par.settings = list(panel.background=list(col="lightblue")).
nograpes,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.