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

From: Gavin Simpson <gavin.simpson_at_ucl.ac.uk>
Date: Sat 08 Jul 2006 - 02:24:29 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()
> =====================================================
>
>
> Any comments or suggestions would be greatly appreciated.
>
>
> Jane

Hi Jane,

Thanks for the reproducible example. Why do you think lend will do what you want? From ?par:

'lend' The line end style. This can be specified as an integer or

string:

'0' and '"round"' mean rounded line caps [_default_];

'1' and '"butt"' mean butt line caps;

'2' and '"square"' mean square line caps.

As from R 2.3.0 this can be specified inline.

This is talking about line endings - do you want hard or soft line ends or type of joins in line segments? It does not mean the type of line endings you might get in Adobe Illustrator or Inkscape vector drawing packages.

You were close with 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(x = drug.or, y = yaxis, pch=17, xlim = c(0,3), axes=FALSE,

xlab = 'Odds Ratio', ylab = '', main = 'Reference Group: A only') labs <- seq(0, 3, by = 0.5)
axis(1, at = labs, labels = labs)
axis(2, at = yaxis, las = 2)
arrows(x0 = drug.orl, x1 = drug.oru, y0 = yaxis, y1 = yaxis, length=0.1, code = 3, col = 4, angle = 90)

the angle argument is the key. See arrows? You don't need lend at all to do what you want.

HTH G

```--
%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%
Gavin Simpson                 [t] +44 (0)20 7679 0522
ECRC & ENSIS, UCL Geography,  [f] +44 (0)20 7679 0565
Pearson Building,             [e] gavin.simpsonATNOSPAMucl.ac.uk
Gower Street, London          [w] http://www.ucl.ac.uk/~ucfagls/cv/
London, UK. WC1E 6BT.         [w] http://www.ucl.ac.uk/~ucfagls/
%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%

______________________________________________
R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
```
Received on Sat Jul 08 02:38:17 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 https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.