2014-02-18 107 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索引的循環內工作。