[R] How would I color points conditional on their value in a plot of a time series

William Dunlap wdun|@p @end|ng |rom t|bco@com
Tue May 1 22:33:14 CEST 2018


The ts method for plot() is quirky.  You can use the default method:

 plot(as.vector(time(ttt)), as.vector(ttt), type = "p", col=ifelse(ttt<8,
"black", "red"))


Bill Dunlap
TIBCO Software
wdunlap tibco.com

On Tue, May 1, 2018 at 1:17 PM, Christopher W Ryan <cryan using binghamton.edu>
wrote:

> How would I color points conditional on their value in a plot of a time
> series.  Something like this:
>
> ## demonstration data
> ttt <- ts(rpois(12, lambda = 8), start = c(2000, 1), freq = 4)
> ttt
> plot(ttt, type = "p")
>
> ## doesn't work--all points the same color
> plot(ttt, type = "p", col = ifelse(ttt < 8, "black", "red"))
>
> ## also doesn't work--all points the same color
> q <- as.numeric(ttt)
> q
> plot(ttt, type = "p", col = ifelse(q < 8, "black", "red"))
>
>
> ## works OK with a simple, non-time-series scatterplot, as in
>
> sss <- data.frame(x = rpois(12, lambda = 8), y = rnorm(12, mean = 100, sd =
> 25))
> with(sss, plot(y ~ x, col = ifelse(y > 100, "black", "red")))
>
> ## but I am missing something about time series.
>
> Thanks.
>
> --Chris Ryan
> Broome County Health Department
> and Binghamton University
> Binghamton, NY
>
>         [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
> 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.
>

	[[alternative HTML version deleted]]




More information about the R-help mailing list