r - 在contour() 中没有指定正确的 'z' 矩阵

标签 r contour

我试图在 R 中做一个简单的等高线图,但我收到以下错误 "no proper 'z' matrix specified" .
以下是我的代码:

r=read.table("test.dat")
dim(r)
## [1] 56  3

x=matrix(unlist(r[,3]),ncol=112,byrow=T)
dim(x)
## [1] 1 11

image((1:nrow(x))-56,(1:ncol(x))-56,x)
contour((1:nrow(x))-56,(1:ncol(x))-56,x , add=TRUE)

## Error in contour.default((1:nrow(x)) - 56,
##   (1:ncol(x)) - 56, x, add = TRUE) :
##     no proper 'z' matrix specified

有人可以帮助我哪里出错了。

最佳答案

contour.default的代码(您可以通过在 R 控制台的提示符处键入函数名称来打印)包含以下行:

 if (!is.matrix(z) || 
     nrow(z) <= 1L || 
     ncol(z) <= 1L) 
     stop("no proper 'z' matrix specified")

... 换句话说,contour()拒绝尝试处理只有单行或单列的矩阵。这真的是你打算策划的吗?如果是这样,也许您可​​以更全面地解释上下文?

关于r - 在contour() 中没有指定正确的 'z' 矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29834030/

相关文章:

python - 如何在图像的特定区域应用膨胀?

r - 根据向量中的标记制作列表

R:使用 dplyr 创建有条件的新变量

r - 如何在 R 中的多个模拟图形上应用一个函数

r - geom_bar 精确绑定(bind)到 x 和 y 轴(不聚合)

python - 找到植物根的轮廓

R - 来自覆盖国家边界的栅格数据集的等高线图

r - 在R中的自定义错误处理程序中获取回溯

java - 当线交叉时,opencv 轮廓检测似乎失败

c++ - 使用 OpenCV 和 C++ 查找沿轮廓的点的坐标