R 多维数组上的循环(用于绘制填充轮廓图)

R 多维数组上的循环(用于绘制填充轮廓图),r,for-loop,multidimensional-array,plot,contour,R,For Loop,Multidimensional Array,Plot,Contour,我的目标是每个时间步获得一个等高线图(用于5m x 5m田地的土壤水分数据)。我仍然使用随机值,但在我的论文后面需要它来进行具体的测量 首先,我创建了一个名为BF_array的三维数组,其中包含10个5 x 5矩阵。 如果我在filled.contour命令中访问数组的特定矩阵,它就会工作(参见下图)。对于图像,我使用了BF_数组[,.9]作为z。 但是,当我尝试迭代数组中的不同矩阵时,它表示在contour()中没有指定适当的z矩阵 你能告诉我我的代码有什么问题吗? 谢谢你的帮助:) 使用的数

我的目标是每个时间步获得一个等高线图(用于5m x 5m田地的土壤水分数据)。我仍然使用随机值,但在我的论文后面需要它来进行具体的测量

首先,我创建了一个名为
BF_array
的三维数组,其中包含10个5 x 5矩阵。 如果我在filled.contour命令中访问数组的特定矩阵,它就会工作(参见下图)。对于图像,我使用了
BF_数组[,.9]
作为
z
。 但是,当我尝试迭代数组中的不同矩阵时,它表示在
contour()
中没有指定适当的
z
矩阵

你能告诉我我的代码有什么问题吗? 谢谢你的帮助:)

使用的数组

具有我的阵列的一个矩阵的等高线图

for (i in 1:dim(BF_array)[3]){
x <- 1:5 
y <- 1:5 
z <-i
cls <-rainbow(70,start=0.001,end=1.) 
filled.contour(abs(x),abs(y),z,ylim = c(1,5),col = cls, nlevels=50, main="Wassergehalte in %nFK", plot.axes={axis(1);axis(2);contour(abs(x),abs(y),z,nlevels=20,add=T,lwd=1,col="brown",axes=F)})}

用于(i在1:dim(BF_阵列)[3]){

x您正在将一个整数传递给填充的。等高线
而不是数据的子集。不确定这是否是有意的。是吗?不,我只是在第一次选择“for(I in 1:dim(BF_数组)[3])”之后尝试了“for(I in BF_数组[,10])”的表达式。它也不起作用。它给了我相同的警告消息。。。