On Fri, Nov 26, 2010 at 6:35 PM, Marius Hofert <[email protected]> wrote:
> I am not sure if I found a bug...
> I would like to create a function that itself creates a lattice plot without
> colors. Following
> http://www.mail-archive.com/[email protected]/msg64699.html
> I use trellis.device() to set the colors to FALSE. Whenever I call the minimal
> example below *with* trellis.device(), Quartz opens a window (I am working on
> a
> MAC), which it shouldn't, since I only want to create the plot, but do not
> intend
> to "print" it. Moreover, if I check the value of b, it prints the plot (which
> is correct) but still with colors.
> Without the trellis.device() call, it works fine (but of course the plot is
> again colored)...
> The reason why I would like to use trellis.device() within a function is that
> the plot contains a panel.function which contains many calls to panel.xyplot()
> and I do not want to write "col = 1" (e.g.) all the time...
Create a wrapper to xyplot that has the arguments preset to what you
want. Using the built in BOD data frame:
library(lattice)
f <- function() {
xyplot. <- function(..., col = 1) xyplot(..., col = col)
xyplot.(demand ~ Time, BOD)
}
b <- f()
b
The above works in this example but depending on the specifics of the
actual application you may need this instead:
xyplot. <- function(..., col = 1) eval.parent(substitute(xyplot(...,
col = col))
--
Statistics & Software Consulting
GKX Group, GKX Associates Inc.
tel: 1-877-GKX-GROUP
email: ggrothendieck at gmail.com
______________________________________________
[email protected] mailing list
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.