Hello Rhelpers,

I am trying to represent the following data (hereafter named donnees) in a 
barchart with a grouping variable :


site    traitement      date    s       res
1       NT      17/10/2005      normal  76.2
1       T       17/10/2005      normal  103.2
1       NT      23/11/2005      tardif  81.6
1       T       23/11/2005      tardif  98
2       NT      15/10/2005      normal  72.71
2       T       15/10/2005      normal  94.47
2       NT      15/11/2005      tardif  79.65
2       T       15/11/2005      tardif  94.7

barchart(res~s|site,groups=traitement,data=donnees)

What I'd like to do is for each site represent with an arrow the difference in 
value of variable res between normal and tardif values of variable s.
I've found one way of doing it:


trellis.focus("panel",1,1)
xx<-trellis.panelArgs()$x
yy<-trellis.panelArgs()$y
panel.arrows(as.numeric(xx)[c(1,3)]-0.1,yy[c(1,3)],as.numeric(xx)[c(1,3)]-0.1,yy[c(2,4)],lwd=2,code=3)
panel.text(as.numeric(xx)[c(1,3)]-0.35,c(87,87),paste(yy[c(2,4)]-yy[c(1,3)],"\nq/ha"),font=2)
trellis.focus("panel",2,1)
xx<-trellis.panelArgs()$x
yy<-trellis.panelArgs()$y
panel.arrows(as.numeric(xx)[c(1,3)]-0.1,yy[c(1,3)],as.numeric(xx)[c(1,3)]-0.1,yy[c(2,4)],lwd=2,code=3)
panel.text(as.numeric(xx)[c(1,3)]-0.35,c(87,87),paste(yy[c(2,4)]-yy[c(1,3)],"\nq/ha"),font=2)
trellis.unfocus()

But I would prefer doing this within a custom panel function so I can apply it 
more generally, and I haven't been able to figure out how...
Could anyone give me a hand?
Thanks in advance.

David Gouache
Arvalis - Institut du Végétal

______________________________________________
[email protected] 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.

Reply via email to