gg保存ggarrange的ggplot对象的df列表group_by

我曾经两次使用group_bydoggplot创建两个简单的dfs日期(该组)和一个{{ 1}}的输出,非常感谢本站点中的示例所提供的帮助。简化示例:

ggplot

然后我可以加入那些p1 <- df_i %>% group_by(Date) %>% do( plots = ggplot(data = .) + geom_line() #etc,hugely long and detailed ggplot call omitted for brevity,but it works fine ) # close do

dfs

然后遍历各行,将输出保存在1行(顶部和底部对象)中p1 <- cbind(p1,p2[,2]) names(p1) <- c("Date","Temp","Light") #Temp & Light were both "plots" from above ggarranged

png

到目前为止,太好了。但是自然厌恶for (j in 1:nrow(p1)) { ggsave(file = paste0(p1$Date[j],".png"),plot = arrangeGrob(p1$Temp[[j]],p1$Light[[j]]),device="png",scale=1.75,width=6.32,height=4,units="in",dpi=300,limitsize=TRUE) } ,因此我尝试使用相同的for-loop参数选项在ggsaving中进行group_by,考虑到{ {1}}索引与(我了解的)ggsave子集的索引:

for-loop
  

grDevices :: png(...,res = dpi,units =“ in”)中的错误:无效   'pointsize'参数

如果我添加group_by,它会显示“无效的背景值”;添加p1 %>% group_by(Date) %>% ggsave(file = paste0(.$Date,plot = arrangeGrob(Temp,Light),...) #other params hidden here for brevity

  

check.options(新,name.opt =“ .X11.Options”,envir =   .X11env):'grDevices :: png(...,res = dpi,   units =“ in”)'(需要命名为args)

(我也尝试降低pointsize=10无效)。我可能会以错误的方式进行操作,例如将bg = "white"中的Vlad's suggestion中的dpi交换为store中的%>%

%$%

这与magrittr调用中的Error in gList(list(list(data = list(DateTimeUTCmin5 = c(915213660,915213780,: only 'grobs' allowed in "gList" Date给出了相同的错误。尝试重新创建.$Date框架:

ggsave
  

rangeGrob(Temp,Light)中的错误:找不到对象“ Temp”

do
  

gList(list(list(list(data = list(DateTimeUTCmin5)= c(915213660,   915213780,:“ gList”中仅允许使用“ grobs”

如果我使用 p1 %>% group_by(Date) %>% do(ggsave(file = paste0(.$Date,"_",.$Date,#etc ,会给出相同的错误。

有人对这些工具有一定的了解,以便他们可以看到我在做什么错吗?似乎我应该靠近,但我越来越在黑暗中摸索。非常感谢任何指针。预先感谢!

同样,如果人们推荐一种不同的方法,我也会感兴趣。令我惊讶的是,我可以使用p1 %>% group_by(Date) %>% do(ggsave(file = paste0(.$Date,plot = arrangeGrob(.$Temp,.$Light),#etc %$%上的lapply(或parSapply)代替for-loop。对p1的操作是否胜过df的操作?

[编辑:所需的最终输出:ggsave将每个日期的1张图像(上面有2个图)转储到指定的文件夹中。本质上,如果我可以让ggsave在grouped_df中工作,那就应该是这样

yorita 回答:gg保存ggarrange的ggplot对象的df列表group_by

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3099591.html

大家都在问