I have 2 plots (created using Base graphics) and 2 data frames that I would like to combine onto one sheet in a PDF. I'm using grid.table to create a tableGrobs from my data frames. I'm having a lot of difficulty formatting the PDF output. In particular, I've been unsuccessful keeping all the objects on the same page. I want the right pannel to contain one graph, and the left panel to contain the other graph, and 2 tables below (landscape format).
Currently my code is something like the following:
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))
base plots and
grid objects the package
gridBase is useful.
A rough worked example base on your layout above
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)