Re: [R] How to change the type of segments ends?

From: Marc Schwartz (via MN) <>
Date: Sat 08 Jul 2006 - 02:08:49 EST

On Fri, 2006-07-07 at 11:47 -0400, Lu, Jiang Jane wrote:
> Hi,
> I am trying to plot odds ratios and the corresponding confidence
> intervals in horizontal segments. It would be ideal if the confidence
> interval segment can be drawn with little vertical bars at both ends. I
> have tried very hard to change the type of ends by using 'lend'
> arguments, but cannot make it. I even tried 'arrows()', but still
> failed. Following is the code I use:
> ====================================================
> drug.or <- c(1.017,1.437,1.427,2.211)
> drug.orl <- c(0.715,1.075,1.103,1.696)
> drug.oru <- c(1.446,1.922,1.845,2.882)
> yaxis <- seq(1,4,by=1)
> plot(x=drug.or,y=yaxis,type='p',pch=17,xlim=c(0,3),axes=FALSE,
> xlab='Odds Ratio',ylab='',main='Reference Group: A only')
> axis(1,at=seq(0,3,by=0.5),labels=paste(seq(0,3,by=0.5)))
> axis(2,at=yaxis,las=2)
> segments(x0=drug.orl,x1=drug.oru,y0=yaxis,y1=yaxis,col=4,lend=2)
> # or try
> #arrows(x0=drug.orl,x1=drug.oru,y0=yaxis,y1=yaxis,length=0.1,angle=0,cod
> e=3,col=4,lend=2)
> box()
> =====================================================

Try this using arrows():

drug.or <- c(1.017,1.437,1.427,2.211)
drug.orl <- c(0.715,1.075,1.103,1.696)
drug.oru <- c(1.446,1.922,1.845,2.882)

yaxis <- seq(1, 4, by=1)

plot(drug.or, yaxis ,type='p', pch=17, xlim=c(0,3), axes=FALSE,

     xlab='Odds Ratio', ylab='', main='Reference Group: A only')

axis(1, at=seq(0,3,by=0.5), labels=paste(seq(0,3,by=0.5))) axis(2, at=yaxis, las=2)

arrows(drug.orl, yaxis, drug.oru, yaxis, angle=90,

       length=0.1, code=3, col=4, lend=2)

You need to specify an angle of 90 degrees to get the arrow heads to be perpendicular to the primary line segment. An angle of 0 superimposes the heads on the primary line segment, so they don't show.

HTH, Marc Schwartz mailing list PLEASE do read the posting guide! Received on Sat Jul 08 02:16:24 2006

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.1.8, at Sat 08 Jul 2006 - 04:15:22 EST.

Mailing list information is available at Please read the posting guide before posting to the list.