MarrangeGrob/ggsave:如何添加包含文本的页面并在页面上组织绘图

MarrangeGrob/ggsave:如何添加包含文本的页面并在页面上组织绘图,r,ggplot2,R,Ggplot2,我有一个需要在输出(PDF)中组织的多个绘图。在这里,我使用MarrangeGrob/ggsave和ggplot2 我有5个“原始案例”的图,然后是5个“修改案例”的图。一页上有4个绘图(2行x 2列)。这意味着PDF中的第2页将有“原始”的第5个绘图,以及“修改”的第1、第2、第3个绘图。有什么办法来组织吗?(现在我已经添加了3x空图表来修复;) 我想在“原始”和“修改”案例之间添加一个页面,但是text\u图表仅占页面的1/4。有什么解决办法吗 库(ggplot2) 图书馆(gridExtr

我有一个需要在输出(PDF)中组织的多个绘图。在这里,我使用MarrangeGrob/ggsave和ggplot2

  • 我有5个“原始案例”的图,然后是5个“修改案例”的图。一页上有4个绘图(2行x 2列)。这意味着PDF中的第2页将有“原始”的第5个绘图,以及“修改”的第1、第2、第3个绘图。有什么办法来组织吗?(现在我已经添加了3x
    空图表来修复;)
  • 我想在“原始”和“修改”案例之间添加一个页面,但是
    text\u图表
    仅占页面的1/4。有什么解决办法吗
  • 库(ggplot2)
    图书馆(gridExtra)
    虚拟图
    
    library(ggplot2)
    library(gridExtra)
    
    dummy_plots<-function(i){
    p1<-ggplot(mtcars, aes(x=wt, y=mpg)) + geom_point()+labs(title=paste0("Orginal Case: ", i))
    p2<-ggplot(mtcars, aes(x=wt, y=mpg)) + geom_point()+labs(title=paste0("Modified Case: ", i))
    
    return(list(p1,p2))
    }
    
    empty_chart<-ggplot()+theme_void()
    text_chart<-ggplot()+annotate("text", x=4, y=25, size=10, label=paste("\n Modified Cases \n"))+theme_void()
    
    chart_1<-list(dummy_plots(1)[[1]], dummy_plots(2)[[1]], dummy_plots(3)[[1]], dummy_plots(4)[[1]], dummy_plots(5)[[1]],empty_chart,empty_chart,empty_chart)
    chart_2<-list(dummy_plots(1)[[2]], dummy_plots(2)[[2]], dummy_plots(3)[[2]], dummy_plots(4)[[2]], dummy_plots(5)[[2]],empty_chart,empty_chart,empty_chart)
    
    ggsave(
      filename = "my_file.pdf",
      plot=marrangeGrob(c(chart_1, list(text_chart),chart_2), nrow=2, ncol=2, layout_matrix = matrix(1:4, 2, 2, TRUE))
      )