Learn R Programming

itsadug (version 2.0)

addInterval: Draw intervals or arrows on plots.

Description

Add horizontal or vertical interval indications. This function can also be used to plot asymmetric (non-parametric) error bars or confidence intervals. Basically a wrapper around arrows.

Usage

addInterval(pos, lowVals, highVals, horiz = TRUE, minmax = NULL,
  length = 0.05, ...)

Arguments

pos
Vector with x- or y-values (depending on horizontal).
lowVals
Vector with low values, .
highVals
Vector with errors or confidence bands.
horiz
Logical: whether or not to plot the intervals horizontally. Defaults to TRUE (horizontal intervals).
minmax
Optional argument, vector with two values indicating the minimum and maximum value for the error bars. If NULL (default) the error bars are not corrected.
length
Number, size of the edges in inches.
...
Optional graphical parameters (see par) to be forwarded to the function arrows.

See Also

Other Functions for plotting: add_bars, alphaPalette, alpha, check_normaldist, color_contour, dotplot_error, drawArrows, emptyPlot, errorBars, fadeRug, fill_area, getCoords, getFigCoords, getProps, gradientLegend, marginDensityPlot, plot_error, plot_image, plotsurface, rug_model

Examples

Run this code
emptyPlot(1000,5, xlab='Time', ylab='Y')
# add interval indication for Time=200 to Time=750:
addInterval(1, 200, 750, lwd=2, col='red')

# zero-length intervals also should work:
addInterval(pos=521, lowVals=c(1.35, 1.5, 4.33), highVals=c(1.15,1.5, 4.05),
    horiz=FALSE, length=.1, lwd=4)

# combine with getCoords for consistent positions with different axes:
par(mfrow=c(2,2))
# 1st plot:
emptyPlot(1000,c(-1,5), h0=0)
addInterval(getCoords(.1,side=2), 200,800, 
    col='red', lwd=2)
addInterval(getCoords(.5,side=1), 1,4, horiz=FALSE,
    col='blue', length=.15, angle=100, lwd=4)
abline(h=getCoords(.1, side=2), lty=3, col='red', xpd=TRUE)
abline(v=getCoords(.5, side=1), lty=3, col='blue', xpd=TRUE)
# 2nd plot:
emptyPlot(1000,c(-250, 120), h0=0)
addInterval(getCoords(.1,side=2), 750,1200, 
    col='red', lwd=2, minmax=c(0,1000))
abline(h=getCoords(.1, side=2), lty=3, col='red', xpd=TRUE)
# 3rd plot:
emptyPlot(c(-50,50),c(20,120), h0=0)
addInterval(getCoords(.5,side=1), 80,120, horiz=FALSE,
    col='blue', code=2, length=.15, lwd=4, lend=1)
abline(v=getCoords(.5, side=1), lty=3, col='blue', xpd=TRUE)

# Plot boxplot hinges with medians:
data(simdat)
b <- boxplot(simdat$Y ~ simdat$Condition, plot=FALSE)$stats
emptyPlot(c(1,6), range(b[c(2,4),]), h0=0)
addInterval(1:6,b[2,], b[4,], horiz=FALSE)
# reset
par(mfrow=c(1,1))

Run the code above in your browser using DataLab