gridExtra и grid могут быть вашими друзьями для макета, который вам нужен.
Вот стартер на 10.
library(ggplot2)
library(gridExtra)
library(grid)
p <- ggplot(mtcars, aes(disp, wt)) + geom_line()
ver <- textGrob("Plots verion 1", gp = gpar(fontsize = 15))
A_top <- textGrob("A", gp = gpar(fontsize = 15))
A_left <- textGrob("A", gp = gpar(fontsize = 15), x = unit(45, "mm"), y = unit(15, "mm") )
B_top <- textGrob("B", gp = gpar(fontsize = 15))
B_left <- textGrob("B", gp = gpar(fontsize = 15), x = unit(45, "mm"), y = unit(15, "mm"))
grid.arrange(ver, A_top, B_top, A_left, p, p, B_left, p, p,
top = textGrob("Title", gp=gpar(fontsize = 20), x = unit(125, "mm")),
bottom = textGrob("Subtitle", gp=gpar(fontsize = 10), x = unit(65, "mm")),
ncol = 3,
widths = unit(c(50, 75, 75), "mm"),
heights = unit(c(10, 75, 75), "mm"))
Это дает вам:
![enter image description here](https://i.stack.imgur.com/p1q4M.png)
Следующие ссылки можно использовать для уточнения макета
https://cran.r-project.org/web/packages/gridExtra/vignettes/arrangeGrob.html#title -и-аннотации