2014-02-18 3 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.

Смежные вопросы