force a regular plot object into a Grob for use in grid.arrange
问题 b <- ggplot(cars,aes(x=speed,y=dist))+geom_line() grid.arrange( b, plot(cars), ncol=1 ) gives me the following error Error in gList(list(grobs = list(list(x = 0.5, y = 0.5, width = 1, height = 1, : only 'grobs' allowed in "gList" Let's assume my second graph has to come out of the plot function. How would one convert that output to a grob -like object so it plays nicely with grid.arrange ? 回答1: you can try with gridGraphics library(gridGraphics) grab_grob <- function(){ grid.echo() grid.grab(