我有三个图表,想使用grid.arrange将它们合并。最后一个图表的高度应该比前两个小,并且所有图表的宽度应该相同。
以下是一个可用的示例:
我尝试添加“widths”:
但它变成了一个双列图...
以下是一个可用的示例:
p1 <- qplot(mpg, wt, data=mtcars)
p2 <- p1
p3 <- p1 + theme(axis.text.y=element_blank(), axis.title.y=element_blank())
grid.arrange(arrangeGrob(p1,p2, ncol=1, nrow=2),
arrangeGrob(p3, ncol=1, nrow=1), heights=c(4,1))
在这里,最后一个图比前两个图宽。在我的真实数据中,即使我将文本和标题保留在y轴上,第三个图的宽度仍然不同。我尝试添加“widths”:
grid.arrange(arrangeGrob(p1,p2, ncol=1, nrow=2),
arrangeGrob(p3, ncol=1, nrow=1), heights=c(4,1), widths=c(2,1))
但它变成了一个双列图...
我也尝试了另一段代码:
p1 <- ggplotGrob(p1)
p2 <- ggplotGrob(p2)
p3 <- ggplotGrob(p3)
#
stripT <- subset(p2$layout, grepl("spacer", p2$layout$name))
p3 <- p3[-stripT$t, ]
grid.draw(rbind(p1, p2, p3, size = "first"))
我有相同的宽度,但现在不知道如何改变高度...
好的,有人能帮我将高度和宽度结合起来制作最终的图表吗?