# [R] Rainbow in loop

Boris Steipe boris.steipe at utoronto.ca
Thu Jun 8 15:13:57 CEST 2017

```Does:

rainbow(3)[1]
rainbow(3)[2]
rainbow(3)[3]

B.

> On Jun 8, 2017, at 8:20 AM, WRAY NICHOLAS <nicholas.wray at ntlworld.com> wrote:
>
> Hi R folk  I have a distance time graph for a locomotive and at various times
> different events occur on board the loco.  I want to put a vertical line on the
> speed time graph for each event, but I want to colour each different kind of
> event differently to see visually whether there's any pattern to these events
> happening.  I could just create a vector of colours and use abline which is easy
> obviously, but there's a different number of events for each loco and what I
> would like to do is to use rainbow to create a new palette for each graph
>
> To illustrate I have some model code (made-up and v simplified)  Real times are
> not necessarily whole numbers so  there's  not a one to one correspondence
> between times and index of time elements
>
> sec.time<-seq(0,100)
>
> distance<-c(rep(0,
> 10),rep(1,5),rep(2,20),rep(3,10),rep(4,20),rep(5,5),rep(6,31))
> plot(sec.time,distance,type="l")
> horntime<-c(7,23,52,67,81,90)
> wipertime<-c(4,18,34,47,62,78,89)
> calltime<-c(27,58,93)
>
> abline(v=sec.time[horntime], col="red")
> abline(v=sec.time[wipertime], col="blue")
> abline(v=sec.time[calltime], col="green")
>
> what I want, in this case as there are three events, is to have horn in red,
> wiper in blue and call in green using rainbow with 3.  The problem is that I
> can't see how to call rainbow using a sequence (for loop doesn't work) and
> putting horn/wiper/call as vectors in a list doesn't work as it's too recursive.
> I suppose that I could put horn/wiper/call etc into a matrix of width the
> longest vector and fill the other spaces with dummy -1 but this seems a bit
> inelegant and also in principle I'd like to be able to call rainbow in the
> desired way as I have to prepare various graphs of different aspects of loco
> behaviour
>
> If anyone has any ideas I'd be v grateful
>
> Thanks Nick
> 	[[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help