[R] Putting 6 graphs on one page

Shi, Tao shidaxia at yahoo.com
Fri May 14 19:38:10 CEST 2010


Without the actual data, it's hard to see what's going on here, but It seems you have to restructure your data object to a "long" table, then it should be easy to use 'dotplot' to generate your plots.

...Tao




----- Original Message ----
> From: Dimitri Liakhovitski <dimitri.liakhovitski at gmail.com>
> To: r-help at r-project.org
> Sent: Fri, May 14, 2010 10:19:38 AM
> Subject: [R] Putting 6 graphs on one page
> 
> Apologies, if it's a very simple question, but I am really not very
good with 
> trellis.
I have a piece of a code (below) that works just fine and builds 
> 6
graphs - in a loop. I loop through 6 conditions and build one graph
for 
> each.
What would be the most efficient way of creating one page with 
> 6
graphs instead? (2 rows and 3 columns)?
Thanks a 
> lot!
Dimitri

conditions<-c("a","b","c","d","e","f")
conditions.long<-c("It's 
> a","It's b","It's c","It's d","It's e","It's f")

for(i in 1:6) 
> {        
    
> IV<-conditions[i]
    filename2=paste("DependentVariable 
> ","IV ",IV,".emf",sep="")
    
> win.metafile(file=filename2)

    
> out<-as.data.frame(tapply(data$DependentVariable.j,data[[IV]],mean))
    
> out$IV<-as.factor(as.numeric(row.names(out)))
    
> names(out)[1]<-"j"
    
> out2<-as.data.frame(tapply(data$DependentVariable,data[[IV]],mean))
    
> out<-cbind(out,out2)
    
> names(out)[3]<-"rf"

    
> par.settings=trellis.par.set(superpose.line 
> =
list(col=c(PrimaryColors[4],SecondaryColors[4]),lwd = 
> 2,lty=c(1,3)),
          superpose.symbol = 
> list(cex = 1.5, pch = 
> c(1,3),
lty=c(1,3),col=c(PrimaryColors[4],SecondaryColors[4])),
  
>               reference.line = list(col = 
> "gray", lty ="dotted"))

    
> plot<-dotplot(c(out$j,out$rf)~rep(out$IV,2),
      
>     groups=rep(c("Method1","Method1"), each=nrow(out)),
  
>         type="b",
    
> scales=list(x=list(cex=1.3),y=list(cex=1.3)),
    auto.key = 
> list(space = "top", points = TRUE, lines = TRUE,cex=1.3),
    
> ylim=c(0,5),
          
> xlab=list(conditions.long[i],cex=1.2,font=2),
    
> ylab=list("Dependent Variable",cex=1.2,font=2),
    
> cex.lab=1.5,
          panel = 
> function(y,x,...) {
               
> panel.grid(h = -1, v = -1)
          
>     panel.xyplot(x, y, ...)
          
>       ltext(x, y, labels=round(y,2), 
> cex=1.3,col="black",font=1,pos=3)
      
> })
    print(plot)
    
> dev.off()
}

-- 
Dimitri Liakhovitski
Ninah Consulting

> target="_blank" 
> href="http://www.ninah.com">www.ninah.com

______________________________________________

> ymailto="mailto:R-help at r-project.org" 
> href="mailto:R-help at r-project.org">R-help at r-project.org mailing list

> href="https://stat.ethz.ch/mailman/listinfo/r-help" target=_blank 
> >https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting 
> guide http://www.R-project.org/posting-guide.html
and provide commented, 
> minimal, self-contained, reproducible code.



More information about the R-help mailing list