情节不适用于循环

bil*_*999 5 pdf plot for-loop r ggplot2

我需要制作一堆单独的图并希望在for循环中完成此操作.我正在使用ggplot2.我只是使用facet选项,如果它可以将每个图形保存在一个单独的文件中,我认为它不能做.

由于图表未保存到文件中,因此会发生一些事情.但是生成了文件,但这些文件都是空的.这是我的代码的样子:

for(i in 1:15) {    
pdf(paste("path/plot", i, ".pdf", sep=""), width=4, height=4)

abc <- ggplot(data[data[,3]==i,], 
              aes(variable, value, group=Name, color=Name)) + 
  geom_point(alpha=.6, size=3)+geom_line() + 
  theme(legend.position="none", axis.text.x = element_text(angle = -330)) + 
  geom_text(aes(label=Name),hjust=0, vjust=0, size=2.5) + 
  ggtitle("Title")

abc

dev.off()
}
Run Code Online (Sandbox Code Playgroud)

如何将图表保存到这些文件中?

请注意,如果我有一个数值并且我在for循环中运行代码,那么一切正常.

Meh*_*len 9

当我使用print它时:

for(i in 1:15) {   
  pdf(paste("plot", i, ".pdf", sep=""), width=4, height=4)
  abc <- ggplot(mtcars, aes(cyl, disp)) + 
    geom_point(alpha=.6, size=3)
  print(abc)
  dev.off()
}
Run Code Online (Sandbox Code Playgroud)


And*_*nCH 6

或者试试 ggsave:

for(i in 1:15) {   
Filename <- paste("plot", i, ".pdf", sep="")
abc <- ggplot(mtcars, aes(cyl, disp)) + 
    geom_point(alpha=.6, size=3)
ggsave(filename = Filename, abc, width=4, height=4)
}
Run Code Online (Sandbox Code Playgroud)