首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在R中的同一图中绘制矩阵的所有行

在R中的同一图中绘制矩阵的所有行
EN

Stack Overflow用户
提问于 2021-09-01 00:06:28
回答 1查看 75关注 0票数 1

我想创造一个情节。

X值是matt的名字: count.4,count.5,.

Y值是马特元素的范围。

图上的散点点是对应的matti,j元素,这样每一行的点都有相同的颜色。

代码语言:javascript
复制
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='.')
  }
}

我真的很纠结于如何得到这样的情节。任何帮助或暗示都是非常感谢的。我发现

代码语言:javascript
复制
matplot (c(4:20), cbind(matt[1,]:mat[7,]), pch = 19, ylim = range(c(matt[1,]:mat[7,]))

我认为cbind(matt[1,]:matt[7,])格式不正确。但是我不知道如何写这个,就像对于一个多行的矩阵,我不需要写所有的mattj,

我怎么能做到这一点?

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

除了编码的效率之外,我不知道为什么会有两组黑点。我可以把颜色标签到相应的“类”,这样情节就更容易读懂了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-01 04:05:28

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

代码语言:javascript
复制
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)

备注

代码语言:javascript
复制
rr <- 2:8
cc <- 4:20
mat <- outer(rr, cc)
dimnames(mat) <- list(paste0("class.", rr), paste0("count.", cc))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69006458

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档