I am trying to recreate the following graph with R. Minitab describes this as a graph of normal probability.

probplot gives you most of the way. Unfortunately, I canβt figure out how to add confidence bands around this chart.
Similarly, ggplot stat_qq () seems to represent similar information with a transformed x axis. It seems that geom_smooth() would be a likely candidate for adding groups, but I didn't get it.
Finally, Get Genetics Done members describe something similar here.
Sample data to recreate the above graph:
x <- c(40.2, 43.1, 45.5, 44.5, 39.5, 38.5, 40.2, 41.0, 41.6, 43.1, 44.9, 42.8)
If anyone has a solution with basic graphics or ggplot, I would appreciate it!
EDIT
After looking at the details of probplot , I determined that it creates a line of correspondence on the graph:
> xl <- quantile(x, c(0.25, 0.75)) > yl <- qnorm(c(0.25, 0.75)) > slope <- diff(yl)/diff(xl) > int <- yl[1] - slope * xl[1] > slope 75% 0.4151 > int 75% -17.36
Indeed, comparing these results with what you get from the probplot object seems to compare very well:
> check <- probplot(x) > str(check) List of 3 $ qdist:function (p) $ int : Named num -17.4 ..- attr(*, "names")= chr "75%" $ slope: Named num 0.415 ..- attr(*, "names")= chr "75%" - attr(*, "class")= chr "probplot" >
However, including this information in ggplot2 or the base graphics does not give the same results.
probplot(x)

Versus:
ggplot(data = df, aes(x = x, y = y)) + geom_point() + geom_abline(intercept = int, slope = slope)

I get similar results using basic R graphics
plot(df$x, df$y) abline(int, slope, col = "red")
Finally, I found out that the last two lines of the legend relate to the Anderson-Darlene test for normality and can be reproduced using the nortest package.
> ad.test(x) Anderson-Darling normality test data: x A = 0.2303, p-value = 0.7502