使用循环将多个绘图保存为PDF

时间:2016-08-07 21:03:47

标签: r

我已经做了很多搜索,并意识到这是经常被问到的,但以前的帖子无法解决我的问题。

我有一个制作情节的循环,我试图将每个情节保存为一个pdf。代码如下(注意:"单打"是一个62行的数据框)

# name of saved pdf file
pdf("plots.pdf")

# make a loop that makes a df for each row of data
for (i in 1:nrow(singles)){

       single_subj_df <- singles[i, 1:168]   

       single_subj_df_long <- melt(single_subj_df) # reshape to long

       single_subj_df_long$id <- i

       p <- ggplot(single_subj_df_long, aes(variable, value, group=factor(id))) +
              geom_line(aes(color=factor(id))) + labs(title = "Single Test Subject", 
                                                      x = "Misinformation (dotted lines)", 
                                                      y = "Slider")

       p + theme(axis.text.x = element_blank(), axis.ticks.x = element_blank(), 
                 panel.background = element_rect(fill = "grey96")) +
              geom_vline(xintercept = c(88,120,133), linetype = "dotdash")
}
dev.off()

循环运行,我得到以下输出

> dev.off()
null device 
          1 

如果我只是手动在for循环中运行代码(替换&#34; i&#34;用&#34; 1&#34;,&#34; 2&#34;等),那么情节会很好,所以我不认为代码的一部分是问题。循环运行后,&#34; i&#34;设置为62所以我知道它每次都在迭代。

但是,当我查看PDF时,它只有4KB,并且在尝试打开文件时出现错误。我做错了什么?

谢谢你, 管家

0 个答案:

没有答案