Skip to content

Call to trellis.focus(); thenpanel.superpose()

3 messages · John Maindonald, Deepayan Sarkar, Paul Murrell

#
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?

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.

John Maindonald             email: john.maindonald at anu.edu.au
phone : +61 2 (6125)3473    fax  : +61 2(6125)5549
Centre for Bioinformation Science, Room 1194,
John Dedman Mathematical Sciences Building (Building 27)
Australian National University, Canberra ACT 0200.
#
On Monday 29 November 2004 04:46, John Maindonald wrote:
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).
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
#
Hi
Deepayan Sarkar wrote:
It works, but it works by removing the red rectangle from the list of 
objects representing the scene and then redrawing the scene, hence a new 
page.

Paul