如何使用R中的image.plot在图像中的某些网格上添加符号(十字,星号,数字1/2 ..)?

时间:2017-02-08 07:18:11

标签: r netcdf

我有一个温度netcdf data.i想要使用R by image.plot函数中的字段包绘制两个图像(第一个最大温度和第二个平均温度)。我希望第一张图像中的网格值大于300K,在第二张图像中显示该网格上的交叉/星标。

1 个答案:

答案 0 :(得分:0)

如果指定x和y,则可以很容易地获得满足第一个矩阵中的条件的索引,然后将符号放在第二个矩阵上。我在下面给出一个简单的例子。

首先,我们编制数据。

library(fields)
test <-  matrix(runif(100),ncol=10)
test2 <- matrix(1:100, ncol=10)

然后我们可以设置绘图环境并可视化数据。

layout(matrix(c(1,2),ncol=2))
image.plot(x=1:10, y=1:10, z=unlist(test))
image.plot(x=1:10, y=1:10, z=unlist(test2))

然后我们确定哪些细胞满足大于0.75的标准(这是任意的)。

inds <- which(test > 0.75, arr.ind=TRUE)

然后我们可以使用points将星号添加到test2中我们符合矩阵test的条件的单元格中心。

points(x=inds[,1], y=inds[,2], pch=8)

enter image description here