是否可以在R的单个图形中获得3个图,其分布如下图所示?绘图必须具有相同的宽度,并且绘图C应该居中。

-----   -----
| A |   | B |
-----   -----
    -----
    | C |
    -----

谢谢!

最佳答案

是的,使用layout(...)函数。

layout(matrix(c(1,2,3,3), 2, 2, byrow = TRUE))
hist(mtcars$wt)
hist(mtcars$mpg)
hist(mtcars$disp)

因此,layout(...)采用一个矩阵,其中每个元素对应一个绘图编号。在这种情况下,[1,1]对应于第一曲线,[1,2]对应于第二曲线,[2,1:2]对应于第三曲线。

该示例是从here稍加修改后得到的。

如果希望底部图与上述两个图具有相同的“宽度”,则可以调整该图的边距。
par(mar=c(4,4,2,2))
layout(matrix(c(1,2,3,3), 2, 2, byrow = TRUE))
hist(mtcars$wt)
hist(mtcars$mpg)
par(mar=c(2,14,2,14))
hist(mtcars$disp)

关于r - 在R中以2-1布局绘制3个图形,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24231830/

10-12 23:18