# shadenorm.R function shadenorm = function(below=NULL, above=NULL, pcts = c(0.025,0.975), mu=0, sig=1, numpts = 500, color = "gray", dens = 40, justabove= FALSE, justbelow = FALSE, lines=FALSE,between=NULL,outside=NULL){ if(is.null(between)){ below = ifelse(is.null(below), qnorm(pcts[1],mu,sig), below) above = ifelse(is.null(above), qnorm(pcts[2],mu,sig), above) } if(is.null(outside)==FALSE){ below = min(outside) above = max(outside) } lowlim = mu - 4*sig uplim = mu + 4*sig x.grid = seq(lowlim,uplim, length= numpts) dens.all = dnorm(x.grid,mean=mu, sd = sig) if(lines==FALSE){ plot(x.grid, dens.all, type="l", xlab="X", ylab="Density") } if(lines==TRUE){ lines(x.grid,dens.all) } if(justabove==FALSE){ x.below = x.grid[x.gridabove] dens.above = dens.all[x.grid>above] polygon(c(x.above,rev(x.above)),c(rep(0,length(x.above)),rev(dens.above)),col=color,density=dens) } if(is.null(between)==FALSE){ from = min(between) to = max(between) x.between = x.grid[x.grid>from&x.gridfrom&x.grid