2014-02-18 41 views
1

我有一个名为proc.r1的数据框的列表。我使用每个数据框来创建一个图。由于列表中有21个数据帧,因此我得到21个不同的图。所以我使用下面的代码来做到这一点。在ggplot2中命名多个图,r

for(i in 1:length(proc.r1) 
{ 
    df1 = as.data.frame(proc.r1[[i]]) 
    df1[is.na(df1)] <- 0 
    df1[,42] <- round(df1[,42],1) 
    plotdf1 <- ggplot(df1)+geom_rect(aes(xmin=0,xmax=5,ymin=0,ymax=5))+ 
     facet_grid(row~col)+geom_text(aes(x=2.5,y=2.5,label=norm.n,colour="white")) 
    print(plotdf1) 
} 

当我生成图表时,我也希望每个图表指示数据帧的编号。因此,例如,用于第一曲线图中,它应该有一个标题为“数据帧1”和第二曲线图中,“数据帧2”,等等

我试图使用

+labs(title=paste0("Data Frame #", rep(c(1:21),each=1))) 

,因为有在这个特定的列表中有21个数据帧,但是这不起作用。而且我还希望代码更加通用。如果列表中有22个数据帧,它应该仍然可以正常工作。

谢谢!

回答

2

它应与

+labs(title=paste("Data Frame #", i)) 

,因为你是通过i索引的循环内工作。