如何在R中将特定值设置为特定颜色?

时间:2013-12-20 08:15:20

标签: r matrix plot raster

我有一个矩阵r(光栅)。我想绘制r,这可以使用

完成
plot (r)

但我想将所有20的值(因此这个值不会在图例的比例中考虑)标记为红色,并将r标记为正常,如下所示。 一个可重复的例子:

library(raster)
r <- raster(nrows=10, ncols=10)
r <- setValues(r, 1:ncell(r))
plot(r)

这将产生这个:

enter image description here

1 个答案:

答案 0 :(得分:1)

优雅与众不同,但这是你打算做的吗?

par(mfrow=c(2,2))
plot(r)
r.20 <- calc(r, fun=function(x){ x[x == 20] <- NA; return(x)} )
as.matrix(r.20)
plot(r.20)
r.not20 <- calc(r, fun=function(x){ x[x != 20] <- NA; return(x)} )
plot(r.not20, col="red")
plot(r.20);
par(new=TRUE)
plot(r.not20, col="red", legend=FALSE)

enter image description here