[R] Lattice xyplot with text under x-axis

Deepayan Sarkar deepayan.sarkar at gmail.com
Fri Apr 17 01:27:57 CEST 2009


On Wed, Apr 15, 2009 at 8:59 AM, kate.m <katherine797 at gmail.com> wrote:
>
> Hi All,
>
> I have a data set which I need to plot and show the values of one of the
> variables as a second x-axis.
>
> library(lattice)
> year<-c(2001,2002,2003,2004,2005,2006)
> fac<-c("arts","arts","arts","sci","sci","sci")
> staff<-c(95,98,99,32,31,36)
> part<-c(32,31,33,15,16,14)
> df1<-data.frame(year,fac,staff,part)
>
> xyplot(part~year, type="o", xlab="", ylab="")
>
> n.val.text<-paste("n = ", df1$staff, sep = "")
> mtext(n.val.text, side = 1, line = 3, at = axTicks(1), cex = 0.9)
>
> This works OK.

Not really...

> The problem comes in when I plot the data in panels.
>
> xyplot(part~year | fac, as.table=TRUE, type="o", between=list(x=1,y=1),
> xlab="", ylab="",
> scales=list(x=list(alternating=3),y=list(alternating=3), relation="free"))
>
> The mtext code doesn't work anymore. I think it needs some sort of panel
> function (panel.groups?) which would tell it to show the appropriate values
> of "staff" under their respective "year" for each "fac" and each panel.

Something like

xyplot(part~year | fac, as.table=TRUE, type="o", between=list(x=1,y=1),
       scales = list(relation = "free", x = list(at = year, labels =
paste(year, n.val.text, sep = "\n"))))

-Deepayan




More information about the R-help mailing list