2016-05-17 165 views
1

我想将2个饼图和3个箱形图组合成一个数字。我想要在顶部的2个饼图和底部的3个箱形图。当我使用par(mfrow=c(2,3))时,我在第一行中获得了2个饼图和一个箱形图。将多个数字合并为一个

回答

1

您可以使用布局

layout(matrix(c(1,1,1,2,2,2,3,3,4,4,5,5), nrow = 2, ncol = 6, byrow = TRUE)) 
plot(1,main=1,ylab="A") 
plot(2,main=2,ylab="B") 
plot(3,main=3,ylab="C") 
plot(4,main=4,ylab="D") 
plot(5,main=5,ylab="E") 

enter image description here

在这里,你需要创建不同大小的情节,您需要将您的布局矩阵的最小部分(这里它是阴谋的1/6)

你需要这样的矩阵(其中不同号 - 不同地块)

 [,1] [,2] [,3] [,4] [,5] [,6] 
[1,] 1 1 1 2 2 2 
[2,] 3 3 4 4 5 5 

matrix(c(1,1,1,2,2,2,3,3,4,4,5,5), nrow = 2, ncol = 6, byrow = TRUE)

+0

嗯..你是什么意思?你能多解释一下吗? – Batanichek

+0

我想表示第一个情节为'A',第二个情节为'B',第三个情节为'C'等。 – munna

+0

情节标题(编辑情节主要情节)?或者是其他东西? – Batanichek

0

您可以使用R中的grid概念,绘制多个数字到一行或多行和列,请检查以下内容供参考:

plot(1:3) 
grid(NA, 5, lwd = 2) # grid only in y-direction 

## maybe change the desired number of tick marks: par(lab = c(mx, my, 7)) 
op <- par(mfcol = 1:2) 
with(iris, 
    { 
    plot(Sepal.Length, Sepal.Width, col = as.integer(Species), 
      xlim = c(4, 8), ylim = c(2, 4.5), panel.first = grid(), 
      main = "with(iris, plot(...., panel.first = grid(), ..))") 
    plot(Sepal.Length, Sepal.Width, col = as.integer(Species), 
      panel.first = grid(3, lty = 1, lwd = 2), 
      main = "... panel.first = grid(3, lty = 1, lwd = 2), ..") 
    } 
    ) 
par(op) 

MULTIPLE-FIGURES-IN-ONE-ROW