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?

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]]

