如何避免图例中的某些值?

时间:2012-06-12 08:48:42

标签: r

下面给出的代码将读取并显示带有图例的文件的图像。 如何告诉R在绘制图例时不考虑(例如-9999)或任何其他值的值。

conne <- file("C:\\DEM.bin", "rb")
image(t(t(y)),ylim=c(1,0))
image.plot(t(t(y)), add = FALSE, legend.shrink = 0.9,legend.width = 1.2,
           legend.mar = NULL, graphics.reset = FALSE, horizontal = FALSE, bigplot = NULL,
           smallplot = NULL,legend.only = FALSE,lab.breaks=NULL, axis.args=NULL))

1 个答案:

答案 0 :(得分:5)

让我们创建一个模型数据集(您的数据集不可重现):

m = matrix(runif(100), 10, 10)
m[sample(1:10, size = 2), sample(1:10, size = 2)] = -9999

矩阵m现在包含两个您不想绘制的值:

enter image description here

解决方案是让它们NA,在这种情况下,R会知道它们缺少值:

m[m == -9999] <- NA
image(m)

enter image description here

现在忽略NA值,并替换为白色像素,您的图像看起来正常。如果您想要制作NA的多个值:

m[m %in% c(-9999, 1e30, -1)] <- NA

现在列表中的所有值都标记为NA