我使用R时遇到以下问题,到目前为止还没有找到解决方案:
我有一个脚本,我运行几个操作并生成一些图。最后,我希望有一段很好的代码可以自动保存生成到当前工作目录中的所有图。到目前为止,我正在使用:
trellis.device(device =“png”,filename =“Plot_A.png”) 打印(Plot_A) dev.off()
对于一个特定的情节,哪个工作正常。现在我正在寻找某种for循环,它可以获取所有绘图并将其作为png文件保存为绘图名称
答案 0 :(得分:0)
在基于grid
的绘图包(lattice
和ggplot
)中,您可以将绘图存储在对象中并在其上调用print
以触发绘图的实际渲染。您可以做的不是当场渲染图像,而是将任何绘图附加到列表中。然后,最后,您可以循环绘制并输出它们。
plot_list = list()
lattice_plot = xyplot()
plot_list = append(plot_list, lattice_plot)
for(plot in plot_list) {
png('name.png')
print(plot)
dev.off()
}
答案 1 :(得分:0)
不完全是一个答案,而是另一种工作流程。
如果要保存图以便在其他地方使用,例如将其包含在Word文档或演示文稿中,则可以将代码放在RMarkdown文档中并进行编织以生成html或doc文档,其中包含代码生成的所有输出,包括绘图。使用RStudio,只需单击几下即可完成所有操作。
从Word文档中提取所有图甚至比从png文件文件夹中提取图更容易。