【问题标题】:How to produce contour plot in R from matrix如何从矩阵生成 R 中的等高线图
【发布时间】:2012-11-04 12:32:13
【问题描述】:

我有一个包含 nxn 数值矩阵的文件,其中标题行和列包含标签。

我想用 R (2.14.x) 生成值的等高线图,所以我像这样加载矩阵:

mat <- as.matrix(read.table("myfile", row.names=1, sep=",", header=TRUE))

然后尝试通过以下方式生成等高线图:

contour(rownames(mat), colnames(mat), mat)

但我得到了错误:

Error in r[i1] - r[-length(r):-(length(r) - lag + 1L)] : 
  non-numeric argument to binary operator

产生问题的示例矩阵包含:

,1,2,3
1,827786,672544,622597
2,674201,651413,533766
3,626531,533179,489844

出了什么问题,我该如何解决? 我对 R 很陌生,所以我可能在这里做一些愚蠢的事情。任何帮助表示赞赏。

【问题讨论】:

    标签: r matrix contour


    【解决方案1】:

    哦。一定是在途中误读了一些文档 - contour(mat) 工作正常。

    我从像 http://wiki.cbr.washington.edu/qerm/index.php/R/Contour_Plots 这样的文档中认为我需要拆分 x、y、z。

    【讨论】:

    • 如果你有 x,y 向量和 z 矩阵,那么contour(list(x=x,y=y,z=z)) 应该使用正确的轴。另见image。默认值为 1:nrow 或 ncols,因此除非您的 x 和 y 坐标有意义(如地理坐标),否则您只需使用 contour(z) 即可。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多