shading certain area in graph - a combination of lines and point plots in base R

graph, r, radix

Solution

Similar answer to Stephan :

plot(myd$xvar,myd$yvar,pch=19,cex=.75,col="blue")
points(myd$xvar,myd$yvarL,col="gray", pch=19,cex=.5)
points(myd$xvar,myd$yvarU,col="gray", pch=19,cex=.5)
polygon(c(smyd$xvar[1:nrow(smyd)], smyd$xvar[nrow(smyd):1]), 
 c(smyd$yvarL[1:nrow(smyd)], smyd$yvarU[nrow(smyd):1]), col="gray", border = NA)
points(smyd$xvar,smyd$yvar,col="red", pch=19,cex=1.5)
lines (smyd$xvar,smyd$yvar,col="red", pch=19,cex=1.5)

polygon(c(smyd1$xvar[1:nrow(smyd1)], smyd1$xvar[nrow(smyd1):1]),
c(smyd1$yvarL[1:nrow(smyd1)], smyd1$yvarU[nrow(smyd1):1]), col="yellow", border = NA)
points(smyd1$xvar,smyd1$yvar,col="green4", pch=19,cex=1.5)
lines (smyd1$xvar,smyd1$yvar,col="green4", pch=19,cex=1.5)

gives you:

Problem

I have following question: ``` set.seed(1234) dis = seq(1, 800, 10) yvar = rnorm(length (dis), 50, 10) myd <- data.frame (xvar = dis, yvar = yvar, yvarL = yvar - rnorm (length (yvar),5, 1), yvarU = yvar + rnorm (length (yvar), 5, 1)) plot(myd$xvar,myd$yvar,pch=19,cex=.75,col="blue") points(myd$xvar,myd$yvarL,col="gray", pch=19,cex=.5) points(myd$xvar,myd$yvarU,col="gray", pch=19,cex=.5) ``` Y has three values - Y, upper and lower confidence. I would like to shade between two intervals in axis. Rest of graph would be point only. The hypothesized product graph should be similar (not exactly). How can I shade and produce line plot between two intervals say between 650 to 690 and 210 to 280 in myd$xvar. I tried to do some polygot fitting based on this post ( shading within xy curve plot in R), but not successful. ``` polygon(c(myd$xvar[1:200], myd$xvar[200:1]), c(myd$xvar[1:200], myd$yvar[200:1]), col="gray") ```

Original source