Упорядочить базовые графики и таблицы grid.tables на одной странице

У меня есть 2 графика (созданных с использованием базовой графики) и 2 кадра данных, которые я хотел бы объединить на один лист в формате PDF. Я использую grid.table для создания tableGrobs из своих кадров данных. У меня много сложностей с форматированием вывода PDF. В частности, я не смог сохранить все объекты на одной странице. Я хочу, чтобы правая панель содержала один граф, а левая панель содержала другой график и две таблицы ниже (альбомный формат).

В настоящее время мой код выглядит примерно так:

library('gridExtra') pdf("Rplots.pdf", paper = "USr", height = 8.5, width = 11) layout(matrix(c(1,3, 2,3, 4,3), nrow = 3, ncol = 2, byrow = TRUE)) plot(myPlot1) grid.table(df1) plot(myPlot2) grid.table(df2) dev.off() 

Я не хочу использовать ggplot2.

    Для комбинирования base графиков и объектов gridBase полезен пакет gridBase .

    Грубая работающая примерная основа на вашем макете выше

     library(grid) library(gridBase) library(gridExtra) layout(matrix(c(1,3, 2,3, 4,3), nrow = 3, ncol = 2, byrow = TRUE)) # First base plot plot(1:10) # second base plot frame() # Grid regions of current base plot (ie from frame) vps <- baseViewports() pushViewport(vps$inner, vps$figure, vps$plot) # Table grob grob <- tableGrob(iris[1:2,1:2]) grid.draw(grob) popViewport(3) # third base plot plot(1:10) # fourth frame() vps <- baseViewports() pushViewport(vps$inner, vps$figure, vps$plot) grid.draw(grob) popViewport(3) 

    Который дает

    введите описание изображения здесь

    Давайте будем гением компьютера.