我試圖從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