1

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

我有多个情节要为多人创建,所以我在 pdf 中为每个人创建所有情节。所以它是这样的......

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

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

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

4

1 回答 1

3

您需要将print每个绘图用于输出到 pdf 中。

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()
    }
于 2013-09-23T00:40:56.050 回答