首页 > 解决方案 > 在 R 中保存自动生成的图

问题描述

我正在使用 R 中的一个函数来分析我的数据并生成多个图。

该函数是adegenet 包中的“snpzip”。

我想自动保存函数生成的三个图作为输出的一部分。你对如何做有什么建议吗?

我想指出一个事实,即我知道如何保存单个绘图,例如使用 png 或 pdf 后跟 dev.off()。我的问题是,当我运行时snpzip(snps, phen, method = "centroid"),结果是三个图(我想保存)。

我在这里报告与“adegenet”包中相同的示例:

simpop <- glSim(100, 10000, n.snp.struc = 10, grp.size = c(0.3,0.7), 
                LD = FALSE, alpha = 0.4, k = 4)
snps <- as.matrix(simpop)
phen <- simpop@pop

outcome <- snpzip(snps, phen, method = "centroid")

标签: rplot

解决方案


如果您使用其中包含 C 整数格式的文件名,则 R 将用页码替换名称的该部分,从而生成多个文件。例如,

png("page%d.png")
plot(1)
plot(2)
plot(3)
dev.off()

将生成 3 个文件,page1.pngpage2.pngpage3.png. 对于pdf(),您还需要onefile=FALSE

pdf("page%d.pdf", onefile = FALSE)
plot(1)
plot(2)
plot(3)
dev.off()

推荐阅读