Shading a kernel density plot between two points.
plot, r
Solution
With the `polygon()` function, see its help page and I believe we had similar questions here too.
You need to find the index of the quantile values to get the actual `(x,y)` pairs.
Edit: Here you go:
x1 <- min(which(dens$x >= q75))
x2 <- max(which(dens$x < q95))
with(dens, polygon(x=c(x[c(x1,x1:x2,x2)]), y= c(0, y[x1:x2], 0), col="gray"))
Output (added by JDL)
Problem
I frequently use kernel density plots to illustrate distributions. These are easy and fast to create in R like so: ``` set.seed(1) draws <- rnorm(100)^2 dens <- density(draws) plot(dens) #or in one line like this: plot(density(rnorm(100)^2)) ``` Which gives me this nice little PDF: I'd like to shade the area under the PDF from the 75th to 95th percentiles. It's easy to calculate the points using the `quantile` function: ``` q75 <- quantile(draws, .75) q95 <- quantile(draws, .95) ``` But how do I shade the the area between `q75` and `q95`?