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.