我有要绘制的SpatialPolygons或SpatialPolygonsDataFrames。如何使用R中的三种绘图系统(基本图形,点阵图形和ggplot2)更改颜色?

示例数据:

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




#1 楼

基本图形(plot

对于基本图形,col=设置填充,border=设置边框颜色。

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


如果您想要一个弧度映射,将col=设置为颜色的矢量,每个多边形的数据值对应一个颜色。



点阵图形(spplot

与基础图形不同,用于点阵图形的col=选项控制边框颜色。对于无边框,请设置col=NAcol="transparent"

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




对于多边形填充,请将col.regions设置为标准R配色方案(grayrainbow.colorstopo.colors等):

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




ggplot2

与ggplot2一样,指定级别,然后选择配色方案。但是,您可以覆盖整个图的方案。某些细节需要注意。

评论


好问题/答案。也许您想添加有关设置背景色的信息。要在spplot中设置背景颜色,请使用par.settings = list(panel.background = list(col =“ lightblue”))。

– nograpes
16-2-12在15:34