[R] Vector lty argrument for lines or plot

baptiste auguie ba208 at exeter.ac.uk
Thu Nov 20 21:47:01 CET 2008


Hi,

If you wish to connect each point to the next with a different  
linetype, I think your best bet is to use segments()


x <- stats::runif(12); y <- stats::rnorm(12)
i <- order(x,y); x <- x[i]; y <- y[i]
plot(x, y)
s <- seq(length(x)-1)
segments(x[s], y[s], x[s+1], y[s+1], lty=1:10)


If, however, you wish to plot several groups of lines with different  
linetypes, then matlines() should do the job. Both of these make  
actual use of lty as a vector, while polygon(), abline(), plot(),  
lines() will only use the first value (as far as i can see).


Hope this helps,

baptiste

On 20 Nov 2008, at 20:24, Brian Diggs wrote:

> I am confused by the behavior of the lines function when the lty  
> argument is a vector.  ?lines indicates that lty is a valid  
> parameter, but says nothing else about it.  ?plot.xy (which I think  
> is what gets called) refers back to ?lines.  ?plot.default says to  
> see ?par.  In ?par, about lty it says "Some functions such as lines  
> accept a vector of values which are recycled. Other uses will take  
> just the first value if a vector of length greater than one is  
> supplied."  However, I cannot get lines to use more than one type of  
> line.  Some example code:
>
> pt <- runif(10)
> plot(pt)
> lines(pt, type="c", lty=1:10)
>
> I expected each subsequent line segment to be in a different style.   
> Only the first seems to be used.  The same is true for plot:
>
> plot(pt, type="b", lty=1:10)
>
> uses only one style of line segment (although no documentation says  
> explicitly that the others would be used).  It doesn't matter the  
> order or manner of specification, only the first is used.
>
> plot(pt)
> lines(pt, type="c", lty=c("dashed","solid"))
>
> plot(pt)
> lines(pt, type="c", lty=c("FF", "11"))
>
> I have used a vector of lty before (in legend) and it cycled through  
> all the values.  Am I misunderstanding what a vector lty to lines  
> means, or is this a bug?
>
> I'm running on Windows XP Pro, if that might matter.
>
>> sessionInfo()
> R version 2.8.0 (2008-10-20)
> i386-pc-mingw32
>
> locale:
> LC_COLLATE=English_United States.1252;LC_CTYPE=English_United States. 
> 1252;LC_MONETARY=English_United States. 
> 1252;LC_NUMERIC=C;LC_TIME=English_United States.1252
>
> attached base packages:
> [1] stats     graphics  grDevices utils     datasets  methods   base
>
> --
> Brian Diggs, Ph.D.
> Senior Research Associate, Department of Surgery, Oregon Health &  
> Science University
>
>
>
> ______________________________________________
> R-help at r-project.org 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.

_____________________________

Baptiste Auguié

School of Physics
University of Exeter
Stocker Road,
Exeter, Devon,
EX4 4QL, UK

Phone: +44 1392 264187

http://newton.ex.ac.uk/research/emag



More information about the R-help mailing list