首页 > 解决方案 > 循环多维数组(用于绘制填充的轮廓图)

问题描述

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

BF_array首先,我创建了一个包含 10 个 5 x 5 矩阵的 3 维数组。如果我在 fill.contour 命令中访问特定的数组矩阵,它就可以工作(见下图)。对于图像,我使用BF_array[,,9]as z。但是,一旦我尝试遍历数组的不同矩阵,它就会说没有zcontour().

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

使用的数组

使用的数组

带有我的数组的一个矩阵的等高线图

带有我的数组的一个矩阵的等高线图

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)})}

标签: rfor-loopmultidimensional-arrayplotcontour

解决方案


推荐阅读