Hi


[EMAIL PROTECTED] wrote:
Dear all

In order to clearly mark values wich are larger than a treshold value, I would like to color the surface below the line given by plot (yy~xx). To color is only the surface between abline (treshold) and yy if they are larger than the specific limit. I guess I can use the function polygon, but I can not find any valuable solution.
I'm grateful to you for an advice or an example.
Mike


xx <- c(1:100)
yy <- rnorm(100)
plot (yy~xx,type="l")
abline (h=0.5,col="red")
#?? how can I use polygon()
#in order to color surface below yy value and > abline??
polygon(xx,yy,col="gray")


You can do it by "brute force" as follows:

xx <- c(1:100)
yy <- rnorm(100)
# Set up plot but draw nothing
plot (yy ~ xx, type="n", axes=FALSE)
# Some constants
n <- 100
hline <- 0.5
# Fill in grey beneath yy
polygon(c(xx[1], xx, xx[n]), c(min(yy), yy, min(yy)), col="grey")
# Fill in white beneath abline
usr <- par("usr")
rect(usr[1], usr[3], usr[2], hline, col="white", border=NA)
# Redraw all of yy line
lines(xx, yy)
# Draw red abline
abline (h=0.5,col="red")
# Draw bounding box and axes
box()
axis(1)
axis(2)

Or you could calculate all intercepts of yy line with the abline, but that's probably not worth the effort.

Paul
--
Dr Paul Murrell
Department of Statistics
The University of Auckland
Private Bag 92019
Auckland
New Zealand
64 9 3737599 x85392
[EMAIL PROTECTED]
http://www.stat.auckland.ac.nz/~paul/

______________________________________________
[EMAIL PROTECTED] mailing list
https://www.stat.math.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html

Reply via email to