繁体   English   中英

在x轴上绘制矩阵的所有列

[英]Plotting all columns of a matrix on the x-axis

我想在x轴上分别绘制矩阵的所有列,y轴是矩阵列中的值。 为了说明创建矩阵时我正在寻找的东西:

test=matrix(c(1,4,3,2,3),ncol=5,nrow=5)

并使用它绘制它

boxplot(test)

矩阵列的每个箱线图分别出现在x轴上。 我想要的是这个,除了只有点在y轴而不是箱线图上。

并不是说以这种方式布局数据是有意义的,但这里是:

test=matrix(c(1,4,3,2,3),ncol=5,nrow=5)
plot(rep(1:5, 5), c(t(test)))

在此输入图像描述

使用reshape2库来融化数据

library(reshape2)

test = matrix(c(1, 4, 3, 2, 3), ncol = 5, nrow = 5)

plot(melt(test)[, 2:3])

在此输入图像描述

boxplot有一个plot参数:

plot
如果为TRUE (默认值),则生成一个boxplot。 如果不是,则返回箱图所基于的摘要。

您感兴趣的结果位于stats组件中。

然后你可以使用matpointsmatplot(..., type = 'p')

请注意,您必须转置结果以获得所需的绘图

matpoints(t(boxplot(test, plot = FALSE)$stats), pch = 19, col = 'black')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM