Re: [R] trellis.focus with postscript device

From: Soukup, Mat <>
Date: Thu 20 Jul 2006 - 02:35:48 EST

Thanks Deepayan.

Adding the argument highlight=FALSE to each trellis.focus() call worked marvelously.



-----Original Message-----
From: Deepayan Sarkar [] Sent: Wednesday, July 19, 2006 11:58 AM
To: Soukup, Mat
Subject: Re: [R] trellis.focus with postscript device

On 7/19/06, Soukup, Mat <> wrote:
> Hello.
> First: R 2.3.1 on Windows XP.
> I am trying to add information (sample size) to the Trellis strips
> I am successful using the trellis.focus function with the default
> Windows device. However, I typically use the postscript device as I
> LaTeX and \includegraphic for incorporating graphs into stat reviews.
> Here's some example code (apologies for the lack of creativity and
> resemblance to a real example)
> yy <- c(rnorm(20,2),rnorm(35,3), rnorm(30,2),rnorm(20,3),rnorm(4,2),
> rnorm(10,3))
> xx <- c(1:20,1:35,1:30,1:20,1:4,1:10)
> gg <- rep(c('A','B','A','B','A','B'), c(20,35,30,20,4,10))
> pp <- rep(c('Cond 1','Cond 2','Cond 3'), c(55, 50, 14))
> xyplot(yy ~ xx | pp, groups=gg)
> trellis.focus('strip', 1, 1)
> ltext(0,.5,'20',col='red', pos=4)
> ltext(1,.5,'35',col='black', pos=2)
> trellis.unfocus()
> trellis.focus('strip', 2, 1)
> ltext(0,.5,'30',col='red', pos=4)
> ltext(1,.5,'20',col='black', pos=2)
> trellis.unfocus()
> trellis.focus('strip', 1, 2)
> ltext(0,.5,'4',col='red', pos=4)
> ltext(1,.5,'10',col='black', pos=2)
> trellis.unfocus()
> This works. But if I do,
> postscript('C:/TEMP/example.eps')
> # All code as above
> I notice a problem with the graphic. When looking at the EPS figure,
> only strip with added data is the first one (bottom left) with the
> still highlighted in red (i.e. it doesn't appear that
> was executed).

Actually, you have produced a multiple-page postscript file, with what you really want in the last page. If you highlight the strips when calling trelis.focus, they have to be un-highlighted by trellis.unfocus. In theory, this is just a removal of a rectangle object. In practice, grid achieves this by drawing a new page. You need to avoid this.

Your options are:

(1) add 'highlight = FALSE' to all trellis.focus() calls (2) run the script in batch mode, where the default highlight = interactive() is FALSE

I'll think about adding an option to control the default.

Deepayan mailing list PLEASE do read the posting guide and provide commented, minimal, self-contained, reproducible code. Received on Thu Jul 20 03:50:16 2006

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.1.8, at Thu 20 Jul 2006 - 04:22:09 EST.

Mailing list information is available at Please read the posting guide before posting to the list.