On May 24, 2011, at 11:42 PM, Gene Leynes wrote:
Peter,
Good idea! (why didn't I think of that?)
If it stumped the r-list, I think there is probably a slight bug
with the
plot formula.
Problems like this make me realize how amazingly full featured and
relatively bug free R is. A problem like this would never happen in
Excel,
because this level of functionality does not exist. However, if it
did, it
would probably never be fixed... and you could substitute "Excel"
with "Any
commercial software".
plot(dat, panel.first=bgfun() ) # succeeds
So the problem is not with plot.data.frame.
So someplace in the processing of dots and the handoff to
do.call(funname, c(list(mf[[i]], y, ylab = yl, xlab = xl), dots))
... where funname = "plot", the dot identities do not get honored. The
'plot" function is where it all started, but the first argument is now
mf[[i]], and is that is now a numeric vector. So I think it gets
handed off to plot.default, which sets panel.first to NULL.
--
David.
Gene
On Tue, May 24, 2011 at 3:13 AM, Peter Ehlers <ehl...@ucalgary.ca>
wrote:
On 2011-05-23 16:54, Gene Leynes wrote:
I wrote a little function called bgfun that adds gridlines and a
background,
but it's not working with I plot using the formula.
I have some theories on what's happening, but even if my theory is
right,
I
don't know how to fix it.
Someone have a straightforward silver bullet?
No silver bullet, but this seems to work:
plot(y ~ x, data=dat, type="n")
points(y ~ x, data=dat, panel.first=bgfun())
(I think that plot.formula may need a fix but
offhand I can't see whether that's easy or hard.)
Peter Ehlers
Thank you,
Gene
bgfun = function(color='honeydew2',linecolor='grey45',
addgridlines=TRUE){
tmp=par("usr")
rect(tmp[1], tmp[3], tmp[2], tmp[4], col=color)
if(addgridlines){
ylimits=par()$usr[c(3,4)]
abline(h=pretty(ylimits,10), lty=2, col=linecolor)
}
}
dat = data.frame(x=1:10,y=1:10)
## Works
plot(dat$x, dat$y, panel.first=bgfun())
## Why doesn't this work?
plot(y ~ x, data=dat, panel.first=bgfun())
[[alternative HTML version deleted]]
______________________________________________
R-help@r-project.org 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.
[[alternative HTML version deleted]]
______________________________________________
R-help@r-project.org 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.
David Winsemius, MD
West Hartford, CT
______________________________________________
R-help@r-project.org 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.