Dear All,
I'm confortable with xyplot(...) and panel.lmline(...) statements (at least
I
thought I did :). I've used the following code to plot the decline in
log-abundance of fish larvae (no.larvae) with age (age.cls, 4 to 27 days-old)
for specific dates of sampling (day, 9 dates). I further plotted data with
different colors and regression lines for ages 5-14 d and 17-23 d in a 7-by-1
layout.
xyplot(log(no.larvae)~age.cls|factor(day),data=mortal,
layout=c(7,1),aspect=5/3,
xlab="Age class
(d)",ylab="Ln(Abundance)",ylim=c(-2.5,6.5),xlim=c(0,30),
panel = function(x, y) {
panel.xyplot(x, y, col=1)
panel.xyplot(x[5:14],y[5:14],pch=16,col=1)
panel.lmline(x[5:14],y[5:14])
panel.xyplot(x[17:23],y[17:23],pch=16,col=2)
panel.lmline(x[17:23],y[17:23],lty=2)
})
Is it possible to change the plotted characters and regression lines for two of
the panels (corresponding to dates 101 and 172). For these dates I intend to
use data only for ages 9-14 d instead of 5-14 d as for the remaining.
Thanks in advance,
Eduardo Esteves
eesteves at ualg.pt wrote: [...]> Is it possible to change the plotted characters and regression lines for > two of the panels (corresponding to dates 101 and 172). For these dates > I intend to use data only for ages 9-14 d instead of 5-14 d as for the > remaining.Have a look at argument 'panel.number' that you can use when defining your panel function. You can create a conditional statement based on that argument. Perhaps something like (replace where appropriate): xyplot(log(no.larvae)~age.cls|factor(day),data=mortal, layout=c(7,1),aspect=5/3, xlab="Age class (d)",ylab="Ln(Abundance)",ylim=c(-2.5,6.5),xlim=c(0,30), panel = function(x, y, panel.number, ...) { if(panel.number == "panel number for day 101" | panel.number == "panel number for day 172") { "panel functions for these days here"} else { "panel functions for other days here"} }) works for you? I've used something similar with 'panel.groups' as the main panel function, but have never done it as above, so beware :-) -- Sebastian Luque