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".

Gene


On Tue, May 24, 2011 at 3:13 AM, Peter Ehlers <ehlers@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]]

