如何从函数生成的图中创建ggplot
对象。我正在使用一个函数在ggplot
中创建双y轴绘图并且它可以正常工作,但是我无法将其转换为ggplot
对象,类gg
和ggplot
像其他ggplot
的对象。
就像我们有两个这样的情节:
p1 <- qplot(wt, mpg, data=mtcars)
p2 <- ggplot(diamonds, aes(price, colour = cut)) + geom_density()
现在我使用这些代码组合了这两个代码并制作了第三个图:
p3 <- grid.arrange(p1,p2,ncol=2)
它产生了情节,但我不记得以后的p3
情节,意味着它没有像ggplot
或p1
一样呈现为p2
我现在不想以pdf或图像文件的形式导出。我的想法是稍后使用p3
图并与其他ggplots
结合使用。
答案 0 :(得分:2)
使用grid::grid.draw
打印由gtable
创建的grid.arrange
个对象。
如果您希望在合并p1
和p2
时取消输出,请使用arrangeGrob
代替grid.arrange
library(ggplot2)
library(gridExtra)
library(grid)
p1 <- qplot(wt, mpg, data=mtcars)
p2 <- ggplot(diamonds, aes(price, colour = cut)) + geom_density()
p3 <- arrangeGrob(p1,p2,ncol=2)
grid.draw(p3)
p4 <- arrangeGrob(p3, p1, nrow=2)
grid.draw(p4)