使用R中的ggplot2在多个文件中创建多个图

时间:2013-09-22 21:31:18

标签: r plot ggplot2

使用ggplot2在R中创建多个文件时遇到异常问题。

我为多人制作了多个情节,所以我在pdf中为每个人创建了所有情节。所以它就是这样......

for(i in 1:10)
{
    pdf(paste("person",i,".pdf",sep=""))
    ggplot2(...)+.........
    ggplot2(...)+.........
    ggplot2(...)+.........
    ggplot2(...)+.........
    dev.off()
}

我已经验证了创建绘图的所有代码都正常工作,并且创建单个pdf可以正常工作,没有任何问题。当我尝试运行循环时会出现问题,它会创建文件,但它们是空白的。我已经尝试了所有我能想到的东西,似乎无法找到任何关于此的信息。我试过在RStudio(Windows)和命令行(ubuntu),都创建了同样的问题。

任何见解或替代方案都将不胜感激,谢谢

1 个答案:

答案 0 :(得分:3)

您需要为每个想要输出为pdf的情节使用print

library(ggplot2)
dat = data.frame(x1=rnorm(10), x2=rnorm(10))
for(i in 1:2){
    pdf(paste("person",i,".pdf",sep=""))
    p1 = ggplot(dat, aes(x=x1)) + geom_histogram()
    p2 = ggplot(dat, aes(x=x2)) + geom_histogram()
    print(p1)
    print(p2)
    dev.off()
    }