принудительно вставьте обычный объект графика в гроб для использования в сетке.организовать


b <- ggplot(cars,aes(x=speed,y=dist))+geom_line()
grid.arrange(
    b,
    plot(cars),
    ncol=1
)

Дает мне следующую ошибку

Ошибка в gList (list (grobs = list (list (x = 0.5, y = 0.5, width = 1, height = 1,: только' grobs 'разрешено в" gList "

Предположим, что мой второй граф должен выйти из функции plot. Как преобразовать этот вывод в объект, подобный grob, чтобы он хорошо играл с grid.arrange?
1 10

1 ответ:

Вы можете попробовать с помощью gridGraphics

library(gridGraphics)

grab_grob <- function(){
  grid.echo()
  grid.grab()
}

plot(cars)
g <- grab_grob()
b <- ggplot(cars,aes(x=speed,y=dist))+geom_line()
grid.arrange(
  b,g,
  ncol=1
)

Или, в качестве альтернативы, используйте gridBase.