我试图在 ggplot2 中排列三个相同大小的图(或多或少是二次的)。我希望两个图位于上行,一个位于下行。下排的单个图应居中。我只知道当下部图左对齐时如何排列图。
到目前为止,我一直在使用 ggarrange 来排列绘图(因为使用了align=“v”命令)。我的代码看起来像这样(首先我创建了三个图 p1、p2、p3):
ggsave("H:/Documents/graph.pdf", height=8, width=10, units="in", dpi=300,
ggarrange(p1, p2, p3, ncol=2, nrow=2, align="v"))
Run Code Online (Sandbox Code Playgroud)
我也尝试过将 grid.arrange 与layout_matrix 命令一起使用,但这根本不起作用!
有谁知道我如何将下部图居中?
layout_matrix
确实是您所需要的:
p1 <- p2 <- p3 <- qplot(mpg, wt, data = mtcars)
grid.arrange(p1, p2, p3, layout_matrix = matrix(c(1, 3, 2, 3), nrow = 2))
Run Code Online (Sandbox Code Playgroud)
在哪里
matrix(c(1, 3, 2, 3), nrow = 2)
# [,1] [,2]
# [1,] 1 2
# [2,] 3 3
Run Code Online (Sandbox Code Playgroud)
显示哪个图占据最终输出的哪一部分,如果这就是您所说的第三个图居中的意思。
或者,
(layout_matrix <- matrix(c(1, 1, 2, 2, 4, 3, 3, 4), nrow = 2, byrow = TRUE))
# [,1] [,2] [,3] [,4]
# [1,] 1 1 2 2
# [2,] 4 3 3 4
grid.arrange(p1, p2, p3, layout_matrix = layout_matrix)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3643 次 |
最近记录: |