我试图从R中创建一个包含data.frames和ggplots的多页PDF文件。我设法将data.frames转换为grobs并使用grid.arrange函数。R - 如何在PDF中的一页上打印三个以上的表格
我现在面临的问题是,我想在PDF的第一页上打印五个表格/ grobs,一个在另一个下面。在第2页,我只需要一个表格,因为它包含不同种类的数据。第3页将包含一个ggplot。它可以在一页上放三张表完美地工作,但当我尝试使用四张或更多页时,它会将它们打印成两列,并且它们会重叠。
这里是我试过至今:
# Load required packages
library(gridBase)
library(gridExtra)
library(ggplot2)
# Transform tables into grobs
Table1 <- tableGrob(df1)
Table2 <- tableGrob(df2)
Table3 <- tableGrob(df3)
Table4 <- tableGrob(df4)
Table5 <- tableGrob(df5)
Table6 <- tableGrob(df6)
# Create the PDF file
pdf("file.pdf", height = 15, width = 20)
layout(matrix(c(1,2,3,4,5,6), 1, 6, byrow = TRUE))
grid.arrange(Table1, Table2, Table3, Table4, Table5)
grid.arrange(Table6)
grid.arrange(ggplot1)
dev.off()
有谁知道我错了?
非常感谢!
干杯, 蒂尔曼使用或仰视\newpage
功能的变化
就像一个评论:如果你只绘制一个grob,最好使用'grid.draw(Table6)'而不是'grid.arrange(Table6)'(和ggplot1相同)。 'grid.arrange()'只对多个grobs有意义,否则你会用不使用的布局为图形增加不必要的复杂性。 – baptiste