在R中以2-1布局绘制3个图形

时间:2014-06-15 16:42:43

标签: r plot

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

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

谢谢!

1 个答案:

答案 0 :(得分:6)

是的,使用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)