2016-05-17 161 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