[R] trellis graphics in loops

Dirk Eddelbuettel edd at debian.org
Sun Jan 30 17:36:58 CET 2005


Jean,

On 30 January 2005 at 10:52, Jean Eid wrote:
| 
| I have this awkward problem with trellis (lattice). I am trying to
| generate some plots through loops but the .eps file is empty. When I
| generate them in a list and print them outside the loop all is fine. this

That is a FAQ -- wrap a 'print()' around the calls to xyplot() and friends: 

  > X <- data.frame(x=rnorm(10000), y=rnorm(10000),
                    z=sample(c("foo1","foo2"),
                             10000,replace=T), 
                    year=sample(c(89:94), 10000,replace=T))
  > pdf("/tmp/jean.pdf")
  > for(i in unique(X$year)) { temp <- X[X$year%in%i, ]; print(xyplot(temp$x~temp$y|temp$z)) }
  > dev.off()
    null device 
              1 
  >

creates fine pdf with six pages:

edd at basebud:~> ls -l /tmp/jean.pdf
-rw-r--r--  1 edd edd 592537 Jan 30 10:34 /tmp/jean.pdf


Hth, Dirk 

| is an example below:( nothing shows up in foo.eps, but all show up in
| foo1.eps)
| R vesion 2.0.1, lattice version  0.10-16, on a debian 2.6.8-1 kernel.
| 
| 
| X <- data.frame(x=rnorm(10000), y=rnorm(10000), z=sample(c("foo1","foo2"),
| 10000,replace=T), year=sample(c(89:94), 10000,replace=T))
| trellis.device("postscript", file="foo.eps")
| for(i in unique(X$year)){
|   temp <- X[X$year%in%i, ]
|   xyplot(temp$x~temp$y|temp$z)
| }
| dev.off()
| 
| mylist <- list()
| for(i in unique(X$year)){
|   temp <- X[X$year%in%i, ]
|   mylist[[i]] <- xyplot(temp$x~temp$y|temp$z)
| }
| 
| trellis.device("postscript", file="foo1.eps")
| mylist[[89]]
| mylist[[90]]
| mylist[[91]]
| mylist[[92]]
| mylist[[93]]
| mylist[[94]]
| dev.off()
| 
| 
| Thank you,
| 
| Jean
| 
| ______________________________________________
| R-help at stat.math.ethz.ch mailing list
| https://stat.ethz.ch/mailman/listinfo/r-help
| PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html


-- 
Better to have an approximate answer to the right question than a precise 
answer to the wrong question.  --  John Tukey as quoted by John Chambers




More information about the R-help mailing list