是否可以在R中的单个图中获得3个图,其分布如下图所示?图表必须具有相同的宽度,图表C应居中。
----- -----
| A | | B |
----- -----
-----
| C |
-----
谢谢!
答案 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)