【发布时间】:2014-11-19 23:11:51
【问题描述】:
我想自动生成一些 ggplots:
通用数据集:
mydata<-data.frame(matrix(rnorm(100),ncol=5))
names(mydata)<-c("Tijd","X1","X2","X3","X4")
指定要包含的变量:
Start=2
Stop=5
要保存绘图的列表:
gvec<-vector("list",length=length(Start:Stop))
创建绘图:
for(i in Start:Stop){
graphy<-ggplot(mydata,aes_string(x="Tijd",y=names(mydata)[i]))+geom_point()+mytheme
gvec[[i-Start+1]]<-graphy
}
保存地块:
for(i in Start:Stop){
tiff(paste0("Test/Residu/Plots/Prei/mydata.",names(mydata)[i],"09.14.tiff"),width=720,height=720)
gvec[[i-Start+1]]
graphics.off()
}
地块列表生成;我也可以手动保存图。但是,使用最后一个循环生成的文件都是空白的。我无法弄清楚这其中的原因。
按照罗兰的建议,我试过了
print(gvec[[i-Start+1]]) 但我仍然得到空白文件作为输出。
【问题讨论】:
-
print(gvec[[i-Start+1]]) -
似乎没有这样做。仍然是空白文件。
-
您需要显式调用
print以绘制到设备(这就是Roland 所说的)。 -
我刚刚运行了你的代码,它对我有用。它产生 4 个 tiff 文件(当
print函数按照建议添加到您的最终循环时)。