# plot with different color Classic List Threaded 4 messages Open this post in threaded view
|

## plot with different color

 Hi how can I plot a series of number as a line, but with lines above a threshould as one color, and with lines below the threshold as another color. for example, a numeric vector: rnorm(1:100), and plot these numbers in the original order, but lines above the horizontal line at 0 are in red, and lines below in blue? Thanks ______________________________________________ [hidden email] mailing list https://stat.ethz.ch/mailman/listinfo/r-helpPLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
Open this post in threaded view
|

## Re: plot with different color

 Here is one approach.  It uses the function clipplot which is shown below (someday I will add this to my TeachingDemos package, the TeachingDemos package is required). An example of usage: > x <- rnorm(1:100) > plot(x, type='l',col='red') > clipplot( lines(x, col='blue'), ylim=c(-4,0) ) Hope this helps, The function definition is: clipplot <- function(fun, xlim=par('usr')[1:2],         ylim=par('usr')[3:4] ){   old.par <- par(c('plt','xpd'))   if( length(xlim) < 2 ) stop('xlim must be a vector with at least 2 elements')   if( length(ylim) < 2 ) stop('ylim must be a vector with at least 2 elements')   if( !require(TeachingDemos) ) stop('TeachingDemos package needed')   xl <- range(xlim)   yl <- range(ylim)   pc <- cnvrt.coords(xl,yl)\$fig   par(plt=c(pc\$x,pc\$y),xpd=FALSE)   fun   par(old.par)   box() # need to plot something to reset }     -- Gregory (Greg) L. Snow Ph.D. Statistical Data Center Intermountain Healthcare [hidden email] (801) 408-8111   -----Original Message----- From: [hidden email] [mailto:[hidden email]] On Behalf Of array chip Sent: Friday, June 02, 2006 1:10 PM To: [hidden email] Subject: [R] plot with different color Hi how can I plot a series of number as a line, but with lines above a threshould as one color, and with lines below the threshold as another color. for example, a numeric vector: rnorm(1:100), and plot these numbers in the original order, but lines above the horizontal line at 0 are in red, and lines below in blue? Thanks ______________________________________________ [hidden email] mailing list https://stat.ethz.ch/mailman/listinfo/r-helpPLEASE do read the posting guide! http://www.R-project.org/posting-guide.html______________________________________________ [hidden email] mailing list https://stat.ethz.ch/mailman/listinfo/r-helpPLEASE do read the posting guide! http://www.R-project.org/posting-guide.html