如何从ggplots列表中打印单个图像文件

时间:2016-01-23 02:53:48

标签: r plot ggplot2

我有一个使用dlply使用以下数据创建的ggplots列表:

d <- data.frame(
  id1 = rep(letters[1:4],16),
  id2 = c(rep("one",16), rep("two",16), rep("three",16), rep("four",16)),
  x = rnorm(64, mean=12, sd=6),
  y = rnorm(64, mean=4.5, sd=2))

require(dplyr)
require(plyr)
require(ggplot2)

d.m <- melt(d, id=c("id1","id2"))

 p = ggplot(data = d, aes(x=x, y=y))+
     geom_point()

plots = dlply(d, .(id1, id2), 
 function(x) p %+% x + ggtitle(paste(unique(x$id1), unique(x$id2)))))

这会根据因子组合id1和id2创建具有自定义标题的ggplots。现在,我如何将这些中的每一个绘制到自己的文件中,根据因子对文件名进行类似的分区?

我尝试了for循环和ggsave:

setwd("C:/")
for (i in (1:length(plots))){
  plots[[i]]
  ggsave(paste(names(plots[[i]]),".jpg",sep=""), dpi=600)
  }

虽然我看到它在控制台中通过图像保存循环(&#34;在图像中保存7.04 x 5.78&#34;反复重复),但只有一个文件保存在我的Windows资源管理器中,它包含ggplot最后一个索引图。关于如何在&#34;列表中绘制每个ggplot的任何提示&#34;有一些命名控制?

0 个答案:

没有答案