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 [EMAIL PROTECTED] (801) 408-8111 -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of array chip Sent: Friday, June 02, 2006 1:10 PM To: r-help@stat.math.ethz.ch 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 ______________________________________________ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html ______________________________________________ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html