[R] Call to trellis.focus(); thenpanel.superpose()

Deepayan Sarkar deepayan at stat.wisc.edu
Mon Nov 29 16:21:34 CET 2004


On Monday 29 November 2004 04:46, John Maindonald wrote:
> The following works fine with the x11 device, though it
> may well be that an initial plot is overwritten.  With a pdf
> or postscript device, I get two plots, the first of which
> still has the red border from having the focus, while the
> second is the plot that I want.
>
>          library(lattice); library(grid)
>          plt <- xyplot(uptake ~ conc, groups=Plant, data=CO2)
>          print(plt)
>          trellis.focus("panel", row=1, column=1)
>          arglist=trellis.panelArgs()
>          arglist$type <- "l"
>          do.call("panel.superpose", args=arglist)
>          trellis.unfocus()
>
> Should I be able to use panel.superpose() in this way?

Yes. The red border should be 'removed', but that's done by grid.remove 
and maybe it doesn't work on PDF devices.

The solution is to use 

trellis.focus("panel", row=1, column=1, highlight = FALSE)

(which happens automatically for non-interactive sessions).

> The new abilities provided by trellis.focus() etc add
> greatly to the flexibility of what can be done with lattice
> plots.  The grid-lattice combination is a great piece of
> software.

Yes, it can be especially useful for tasks similar to identify(). 
Everything else can probably be done by clever enough use of the panel 
function (though perhaps not as naturally).

Deepayan




More information about the R-help mailing list