【问题标题】:plot all rows of matrix in the same plot in R在R中的同一图中绘制矩阵的所有行
【发布时间】:2021-10-30 12:35:44
【问题描述】:

我想创建一个情节。

x 值是 matt 的列名:count.4、count.5、...
y 值是亚光元素的范围
plot 上的 scatter POINTS 是对应的 matt[i,j] 元素,使得每一行的点具有相同的颜色。

for (rr in 2:8) {
  rownames(matt)[rr-1] <- paste('class', rr, sep='.')
  for(cc in 4:20) {
    matt[rr-1, cc-3] <- rr * cc
    colnames(matt)[cc-3] <- paste('count', cc, sep='.')
  }
}

我真的很困惑如何获得这样的情节。非常感谢任何帮助或提示。我找到了

matplot (c(4:20), cbind(matt[1,]:mat[7,]), pch = 19, ylim = range(c(matt[1,]:mat[7,]))

我看到cbind(matt[1,]:matt[7,]) 的格式不正确。但我不知道如何写这个,而不是对于一个有更多行的矩阵我不必写所有 matt[j,]
我怎样才能做到这一点?

编辑。这是我使用cbind(matt[1,],matt[2,],...,matt[7,])时得到的情节

除了编码这个的有效方式,我不知道为什么会有两组黑点。我可以将颜色标记为相应的“类”,以便情节更容易阅读。

【问题讨论】:

    标签: r matrix plot


    【解决方案1】:

    通常系列存储在列中,而不是行中,但如果它们在行中,则使用转置。 ?rainbow 还提供其他调色板,如果您不喜欢我们在这里使用的颜色,可以通过 colors() 获得长矢量颜色。 (我们在最后使用了 Note 中的输入。)

    col <- rainbow(length(rr))
    matplot(cc, t(mat), pch = 19, col = col, type = "o")
    legend("topleft", legend = rownames(mat), pch = 19, col = col, lty = 1)
    

    注意

    rr <- 2:8
    cc <- 4:20
    mat <- outer(rr, cc)
    dimnames(mat) <- list(paste0("class.", rr), paste0("count.", cc))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多