[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