我正在尝试使用spplot
包中的函数sp
绘制多边形数据,但我的数据框中有一些缺失值(NA
)。当我绘制此数据帧时,缺少的值具有透明颜色。我想用黑色绘制它们。我怎么能这样做?
library(sp)
spplot(TestData,12)
这是我的TestData object
答案 0 :(得分:3)
实现此目的的一种方法是使用latticeExtra::layer_
在标准spplot
下方绘制具有首选NA颜色的所有多边形。
library(latticeExtra)
spplot(TestData, 12, col.regions=heat.colors(101), at=seq(0, 4, length=100)) +
layer_(sp.polygons(TestData, fill='black'))
同样,如果您有栅格数据,则可以对layer_
和grid.rect
执行相同操作:
library(raster)
library(latticeExtra)
r <- raster(matrix(runif(100), ncol=10))
r[sample(100, 10)] <- NA
spplot(r, col.regions=grey.colors, at=seq(0, 1, length=100)) +
layer_(grid.rect(0, 0, 2, 2, gp=gpar(fill = 'lightblue')))
答案 1 :(得分:0)