我想在 x 轴上分别绘制矩阵的所有列,y 轴是矩阵列中的值。为了说明我在创建矩阵时要查找的内容:
test=matrix(c(1,4,3,2,3),ncol=5,nrow=5)
并使用
boxplot(test)
矩阵列的每个箱线图分别出现在 x 轴上。我想要的正是这个,除了点在 y 轴上而不是箱线图上。
我想在 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
(默认)然后生成箱线图。如果不是,则返回箱线图所基于的摘要。
您感兴趣的结果在stats
组件中。
然后你可以使用 matpoints
或matplot(..., type = 'p')
请注意,您必须转置结果以获得所需的图
matpoints(t(boxplot(test, plot = FALSE)$stats), pch = 19, col = 'black')