在一个图中R中2个两个矩阵的行方式(并排)框图?

时间:2018-05-30 18:11:18

标签: r

我想在R中为A和B的每一行(两个矩阵)创建箱图。我希望它们都在同一个图中,因为它们共享相同的x轴。

这是我的数据(每个矩阵有20行,5列)

A <- matrix( rnorm(100), ncol = 5 )
B <- matrix( rnorm(100), ncol = 5 )

对于每一行,我想要一个箱形图。要为每个矩阵创建箱图(按行,基于How to boxplot row-wise matrix in R?),我可以使用:

boxplot(A, use.cols = F, col="red")
boxplot(B, use.cols = F, col="green")

我试过这个但是箱形图并不是重叠的(重叠):

boxplot(A, use.cols = F, col="red")
par(new=TRUE)
boxplot(B, use.cols = F, col="green")

有什么建议吗?谢谢。

2 个答案:

答案 0 :(得分:0)

我猜这有效:

boxplot(A, use.cols = F, col = "red", par(mfrow = c(1,2)))
boxplot(B, use.cols = F, col = "green")

答案 1 :(得分:0)

这是一个可以产生你想要的情节的简单例子。这包括两个水平箱图,一个在另一个的顶部,具有相同的x轴:

data(iris)
A = data.frame(X="A",
               Y=iris$Sepal.Length,
               stringsAsFactors=F)
B = data.frame(X="B",
               Y=iris$Sepal.Width,
               stringsAsFactors=F)
df = rbind(A,B)
par(mfrow=c(1,1))
boxplot(Y~X,
        data=df,
        horizontal=T,
        col=c("red","green"),
        las=2,
        xaxt="n")
axis(1,at=seq(0,10,1),labels=seq(0,10,1))

enter image description here