From Greg.Snow at imail.org  Fri Feb 22 20:09:03 2008
From: Greg.Snow at imail.org (Greg Snow)
Date: Fri, 22 Feb 2008 12:09:03 -0700
Subject: [Rd] Clipping using par(plt=..., xpd=FALSE) inconsistencies
Message-ID: <07E228A5BE53C24CAD490193A7381BBBEE1114@LP-EXCHVS07.CO.IHC.COM>

Here is a demonstration of behaviour that is probably an optimization by
someone far smarter than me that did not anticipate anyone wanting to do
this, but for my purposes it looks more like a bug than a feature.

I have tested this with R2.6.2 on Windows, no additional packages loaded
(beyond the default), I have tested using the default graphics object,
pdf, jpeg, and cairoDevice (ok I loaded a package for that) and all show
the same behavior.

Run the following set of commands:

x <- rnorm(1000)
hist(x, xlim=c(-4,4))

tmp <- par('plt')

box(col='#00000000')
tmp2 <- tmp
tmp2[2] <- tmp2[1] + 0.3
par(xpd = FALSE, plt=tmp2)
hist(x, col='red', add=TRUE)

box(col='#00000000')
tmp3 <- tmp
tmp3[1] <- tmp3[2] - 0.3
par(xpd=FALSE, plt=tmp3)
hist(x, col='blue', add=TRUE)
par(plt=tmp)


This gives me the plot that I want and expect (a histogram with the left
section red, the middle white/background, and the right blue).

Now comment out or delete the 2 box commands and rerun everything.  The
clipping does not happen this time and the final result is a full blue
histogram.

Is this a bug? Feature? Something else?
Does anyone have a better work around than drawing transparent boxes?

Thanks,



-- 
Gregory (Greg) L. Snow Ph.D.
Statistical Data Center
Intermountain Healthcare
greg.snow at imail.org
(801) 408-8111
 



[Rd] Clipping using par(plt=..., xpd=FALSE) inconsistencies
Greg Snow