On 18.11.2011 23:48, avinash barnwal wrote:
Hi,

I am looking forward to fill the plot using conditions on variables a2 and
a3. Whenever variable(a2) goes above variable(a3) i fill it with some color
.

I am storing the coordinates of a2 and a3 in x and y as well as time where
it is occurring . But it is not producing properly. I must be wrong
in assigning  coordinates.
What should be the correct way to produce the desired plot?

Thanks in advance
######################################################################################################
x<-vector()
y<-vector()
temp_time<-vector()

Defining *empty* vectors is almost never what you really want to do.

for(i in 1:length)

Running a loop 1:length is dangerous if a length is < 1, run it seq_along(.).

{
if(a2[i]>a3[i])
{
j<-j+1
x[j]<-a2[i]
y[j]<-a3[j]

You meant a3[i], I guess.

temp_time<-time[i]
}
}

At the end of this loop, this obviously simplifies to:

l <- a2 > a3
x <- a2[l]
y <- a3[l]
temp_time <- time[length]


time<-q[,1]
a2<-q[,3]
a3<-q[,4]
plot(time,a2type='l',col='red',ylab='',xlab=" ",axes=FALSE)
lines(time,a3,col='blue',ylab='',xlab=" ")
polygon(c(time[1:j],time[1:j]),c(x,y),col="grey")

Since you don't use anything from inside your loop here, why do you run that at all? Is this homework?

Uwe Ligges

______________________________________________
R-help@r-project.org mailing list
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.

Reply via email to