R return corrplot as object

The recent gridGraphics package could probably do what you asked: return the plot as a grob. mat <- matrix(rnorm(100), ncol=10) library(corrplot) corrplot(cor(mat)) library(gridGraphics) grab_grob <- function(){ grid.echo() grid.grab() } g <- grab_grob() library(gridExtra) grid.newpage() grid.arrange(g,g,g,g)