[R] Drawing a line in xyplot

David Winsemius dwinsemius at comcast.net
Sun Apr 8 06:17:22 CEST 2012


On Apr 7, 2012, at 10:29 PM, wcheckle wrote:

> Thank you David, the bwplot option does what I need:
>
> x11(height=8,width=11)
> bwplot ( mortality~ attend|type,
> pch=95,cex=5,col=2,
> par.settings=list(
>  box.rectangle = list(col = "transparent"),
>  box.umbrella = list(col = "transparent"),
>  plot.symbol = list(col = "transparent")
> ),
> panel=function(x,y,...){
>  panel.grid(lty=5)
>  panel.xyplot(x,y,pch=16,jitter.x=TRUE,col=1)
>  panel.bwplot(x,y,...)
> },
> data = x,aspect=2:1,layout=c(3,1))
>
>
> However, I am interested in also learning how to do it in xyplot as  
> well.  I
> wasn’t able to follow the last two set of instructions (condition on
> packet.number and loop over segments), wondering if I can ask for  
> your help
> for the correct code (my attempt resulted in all three mean lines  
> within
> each panel):
>
> x11(height=8,width=11)
> xyplot ( mortality ~ attend|type,
> panel=function(x,y)
> {
> panel.grid(lty=5)
> panel.xyplot(x,y,pch=16,jitter.x=TRUE,col=1)
> for(i in 1:3)
> {
> panel.segments(x0=c(0.7, 1.7),
> x1=c(1.3, 2.3),
> y0=c(tapply(x$mortality[x$type==i], x$attend[x$type==i], median)),
> y1=c(tapply(x$mortality[x$type==i], x$attend[x$type==i],
> median)),col="red",lwd=4)
> }	
> },
> data = x,aspect=2:1,layout=c(3,1))
>
> thank you again. I also found your info on data.frame useful.

  I haven't figured out how to do it with the interaction of 'attend'  
and ''type' from inside xyplot. I'm thinking I might be able to  
succeed using trellis.focus() to address separate "columns" within a  
particular panel.

This will draw  segments at (1,20) and (2,30) without resorting to low  
level grid/viewport stuff.

  trellis.unfocus(); trellis.focus("panel", 1, 1)
  do.call("panel.segments", list(x0=1,y0=20,x1=1.2, y1=20))
  trellis.unfocus()
  trellis.unfocus(); trellis.focus("panel", 1, 1)
  do.call("panel.segments", list(x0=2,y0=30,x1=2.2, y1=30))
  trellis.unfocus()

-- 
David


David Winsemius, MD
West Hartford, CT



More information about the R-help mailing list