[R] problem adding curve/abline
David Winsemius
dwinsemius at comcast.net
Fri Jan 11 02:14:01 CET 2013
On Jan 10, 2013, at 12:04 PM, Greg Snow wrote:
> I believe the problem could be that xyplot uses grid graphics and plot.new
> and curve are base graphics functions and the 2 graphics systems (grid and
> base) don't play nicely together without a little extra work. In general
> the gridBase package helps them play nicely, but I am not sure that it will
> be the best approach in your case. I would look at rewriting the effects
> of curve in a panel function for xyplot using the llines function (notice
> the 2 'l's at the front) or using only base graphics.
>
There is a lattice function `panel.curve` that might make this all "hang together" rather than "hanging separately".
--
David.
>
> On Wed, Jan 9, 2013 at 9:57 AM, Elisabeth Van Beveren <elisvb at hotmail.com>wrote:
>
>> Hey,
>>
>> I'm stuck on something I already did before (just a different kind of
>> database), and whatever I try, it doesn't work anymore. So thanks for your
>> help.
>>
>> Here's how my data approximately looks like:
>>
>> year season replicate size freq weight
>>
>> 2000 summer ch1 6 1 45
>>
>> 2000 summer ch1 6.5 12 46
>>
>> 2000 summer ch1 7 33 470
>>
>>
>>
>> I have 2 years (2000 and 2001) and 2 seizons (winter and summer). I wanted
>> to plot weight~size, with 2 groups (year and seizon), so here's my
>> shortened
>> script for that:
>>
>> database$groups=paste(database$seizon,database2$year,sep=" ")
>>
>> xyplot(database$weight~database2$size,
>>
>> groups=database$groups,
>>
>>
>> par.settings=list(superpose.symbol=list(col=col.list,pch=c(21,16,21,16))),
>>
>> auto.key=list(corner=c(0.1,0.9),lines=F,points=T))
>>
>> Which works fine, the problem comes when I try to add 2 exponential curves
>> to the data (the 2 seizons). I tried this:
>>
>> summ=subset(database,seizon=="summer")
>>
>> modsumm=nls(summ$weight~exp(a+b*summ$size), data=summ, start=list(a=0,b=0))
>>
>> exposumm=curve(exp(0.05354+0.19872*x), from=0, to=22, add=T, lwd=1,
>> col="blue",lty=1)
>>
>> After having to add plot.new() in the front, the line does or not show up,
>> or shows up but wrongly placed. I thought this might be because of the
>> subset, so I wanted to do something like this:
>>
>> modsumm=nls(weight~exp(a+b* size), data=engsAGG2[seizon=="summer"],
>> start=list(a=0,b=0))
>>
>> which returns: "undefined columns selected"
>>
>> Thanks in advance for the reply.
>>
>>
>>
>>
>> [[alternative HTML version deleted]]
>>
>> ______________________________________________
>> R-help at 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.
>>
>
>
>
> --
> Gregory (Greg) L. Snow Ph.D.
> 538280 at gmail.com
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at 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
Alameda, CA, USA
More information about the R-help
mailing list