[R] plot with different color
Greg Snow
Greg.Snow at intermountainmail.org
Fri Jun 2 22:01:30 CEST 2006
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
greg.snow at intermountainmail.org
(801) 408-8111
-----Original Message-----
From: r-help-bounces at stat.math.ethz.ch
[mailto:r-help-bounces at stat.math.ethz.ch] On Behalf Of array chip
Sent: Friday, June 02, 2006 1:10 PM
To: r-help at 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 at 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
More information about the R-help
mailing list