R 保存重复功能生成的绘图
目前,我正在寻找一个解决方案,以保存72个绘图到一个PDF文件。 这72个图是通过R 保存重复功能生成的绘图,r,ggplot2,scatter-plot,ggsave,R,Ggplot2,Scatter Plot,Ggsave,目前,我正在寻找一个解决方案,以保存72个绘图到一个PDF文件。 这72个图是通过功能和下面的重复代码创建的 ID代表我的数据集中的一个人。此人的ID上有多行数据。要转到下一个人,我使用ID=ID+1 使用下面的代码,我创建了一个PDF文件,但这是一个有72页的PDF文件。我希望每行有4个绘图。nrow=4这个概念中的某些东西,就像您在grid.arrange中使用的一样。最好每行4个,每页24个 pdf("plot1.pdf") repeat { ID = ID +
功能和下面的重复代码创建的
ID代表我的数据集中的一个人。此人的ID上有多行数据。要转到下一个人,我使用ID=ID+1
使用下面的代码,我创建了一个PDF文件,但这是一个有72页的PDF文件。我希望每行有4个绘图。nrow=4这个概念中的某些东西,就像您在grid.arrange中使用的一样。最好每行4个,每页24个
pdf("plot1.pdf")
repeat {
ID = ID + 1
print(ggplot(ID))
if (ID == 72){
break}}
dev.off()
我仍然不确定这是否是一个合法的解决方案,但至少现在它是固定的
显然,我在寻找这样的解决方案:
plot.list <- list()
for(i in 1:72){
plot.list[[length(plot.list) + 1]] <- plot_utility(i)
}
grid1 <- grid.arrange(grobs = plot.list, ncol = 4)
ggsave("plot1.pdf",
plot = grid1,
device = "pdf",
scale = 2,
width = 25,
height = 20,
units = c("cm")
)
plot.list您的问题在许多方面都是不可复制的,请阅读和(标签页顶部),了解如何使用示例数据和最小但完整的工作代码来改进问题。切线:虽然重复没有错,但对(ID中的x)打印(ggplot(x))执行可能更直观(可能更安全)
,由于当ID
s耗尽时,它将自动终止,因此,如果存在任何间隙,则没有风险,(对我来说)更易于阅读/理解,因此更易于维护。@r2evans这只是一个如何在PDF页面上并排获取导出的绘图的问题。我想提到repeat函数,以便知道我的方法是什么。当然,我可以提供一个完整的可复制示例,但我认为不需要它,因为问题是:在使用我的方法时,如何在PDF页面上并排获得导出的绘图(例如,在arrange.grid中为nrow=4)。如果您仍然需要一个可复制的示例,请参阅:(由我发布)您在问题中引用了grid.arrange()
。。。有没有什么特别的原因让你不能在这里选择?通过plot\u grid()
@chemdork123指定列数/行数的类似功能存在于其他软件包中,如cowplot
,据我所知,您需要参考实际绘图以创建网格,例如:plot1