我创建了一个自动创建ggplot
列图的函数。但是,当我调用该函数时,它会输出一个列表:
Plotter<- function (df,title){
Plots <-ggplot2(df,aes(x=mpg,y=wt))+geom_col()+ggtitle(title)
print(Plots)
return(Plots)
}
plot1 <- Plotter(data,"test")
plot2 <- Plotter(data,"test2")
当我致电ggarrange(plot1,plot2,ncol=2)
时,
我收到一条错误消息,指出ggarrange
只接受ggplot
,glist
,但您有一个列表?
我检查了plot1
的班级,这是一个列表?
我也尝试将它转换为grob,但这不起作用。有人可以让我知道我错过了什么吗?
答案 0 :(得分:1)
这对我有用
library(gridExtra)
Plotter<- function (df,title){
Plots <-ggplot(df,aes(x=mpg,y=wt))+geom_col()+ggtitle(title)
print(Plots)
return(Plots)
}
data = data.frame(mpg = 1:10, wt = 1:10)
plot1 <- Plotter(data,"test")
plot2 <- Plotter(data,"test2")
grid.arrange(plot1,plot2,ncol=2)