Собираю несколько гробов в один образ. Я могу сохранить вывод в файл в RStudio, но как я могу назначить его объекту внутри R?
Вот пример:
library(ggplot2) library(grid) #create the plot plot <- ggplot(mtcars) + geom_point(aes(x = disp, y = mpg)) #create two grobs rect <- rectGrob(gp = gpar(alpha = 0.5, col = "white")) circle <- circleGrob(x = 0.5, y = 0.5, r = 0.2, gp = gpar(fill = "darkred")) #create the viewport vipo <- viewport(x = 0.8, y = 0.8, just = c("centre", "centre"), width = 0.3, height = 0.3)
Я пробовал gTree()
, где я могу передавать grobs и viewports, но вывод неверен:
plot_gtree <- gTree(children = gList(ggplotGrob(plot), rect, circle), vp = vipo) grid.draw(plot_gtree)
Конечно, он не знает, какой гроб принадлежит какому видовому экрану.
Если я нарисую его так, он отлично работает:
grid.draw(ggplotGrob(plot)) pushViewport(vipo) grid.draw(rect) grid.draw(circle) popViewport()
Как я могу сохранить это, как я могу сохранить ggplot?