Wie ändere ich die Polygonfüllfarbe und die Rahmenfarbe für SpatialPolygons-Objekte?

24

Ich habe SpatialPolygons oder SpatialPolygonsDataFrames, die ich plotten möchte. Wie ändere ich die Farbe mithilfe der drei Zeichnungssysteme in R (Basisgrafiken, Gittergrafiken und ggplot2)?

Beispieldaten:

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

Testkarte

Ari B. Friedman
quelle

Antworten:

32

Basisgrafiken ( plot)

Legt für col=Basisgrafiken die Füllung und border=die Rahmenfarbe fest.

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

Wenn Sie eine Choroplethen-Karte möchten, legen Sie einen Farbvektor col=für den Datenwert jedes Polygons fest.

Basisgrafiken

Gittergrafiken ( spplot)

Im Gegensatz zu col=Basisgrafiken steuert die Option für Gittergrafiken die Rahmenfarbe. Für keine Grenze setze col=NAodercol="transparent" .

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

keine Grenze

Für das Polygonfüllung eingestellt col.regionsauf ein Standard - Farbschema R ( gray, rainbow.colors, topo.colors, etc.):

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

Farbregionen

ggplot2

Wie bei ggplot2 üblich, geben Sie die Ebenen an und das Farbschema wird ausgewählt. Sie können das Schema jedoch für das gesamte Diagramm überschreiben. Details folgen irgendwann.

Ari B. Friedman
quelle
Tolle Frage / Antwort. Vielleicht möchten Sie Informationen zum Einstellen der Hintergrundfarbe hinzufügen. spplotVerwenden Sie, um die Hintergrundfarbe einzustellen par.settings = list(panel.background=list(col="lightblue")).
Nograpes