## Display Contours

## Usage

    contour(x = seq(0, 1, len = nrow(z)), y = seq(0, 1, len = ncol(z)), z,
            nlevels = 10, levels = pretty(range(z, finite = TRUE), nlevels),
            labcex = 0,
            xlim = range(x, finite = TRUE), ylim = range(y, finite = TRUE),
            col = par("fg"), lty = par("lty"), add = FALSE, ...)

## Arguments

`x,y` | locations of grid lines at which the values in `z` are measured. These must be in ascending order. By default, equally spaced values from 0 to 1 are used. If `x` is a `list`, its components `x$x` and `x$y` are used for `x` and `y`, respectively.
`z` | a matrix containing the values to be plotted (`NA`s are allowed). Note that `x` can be used instead of `z` for convenience.
`nlevels` | number of contour levels desired iff `levels` is not supplied.
`levels` | numeric vector of levels at which to draw contour lines.
`labcex` | `cex` for contour labelling. (not yet used)
`xlim, ylim` | x- and y-limits
`col` | color for the lines drawn
`lty` | line type for the lines drawn
`add` | logical. If `TRUE`, add to a current plot.
`...` | additional graphical parameters (see `par`) and the arguments to `title` may also be supplied.

## Description

Draws contour lines for the desired levels. There is currently no documentation about the algorithm. The source code is in `$RHOME/src/main/plot.c'.

## See Also

`image` and the graphics demo which can be invoked as `demo(graphics)`.

## Examples

    x <- -6:16
    op <- par(mfrow = c(2, 2))
    contour(outer(x, x))
    z <- outer(x, sqrt(abs(x)), FUN = "/")
    ## Should not be necessary:
    z[!is.finite(z)] <- NA
    image(x, x, z)
    contour(x, x, z, col = "pink", add = TRUE)
    contour(x, x, z, ylim = c(1, 6))
    contour(x, x, z, ylim = c(-6, 6), nlev = 20, lty = 2)
    par(op)

    ## Persian Rug Art:
    x <- y <- seq(-4*pi, 4*pi, len = 27)
    r <- sqrt(outer(x^2, y^2, "+"))
    opar <- par(mfrow = c(2, 2), mar = rep(0, 4))
    for(f in pi^(0:3)) contour(cos(r^2)*exp(-r/f))

    data("volcano")
    rx <- range(x <- 10*1:nrow(volcano))
    ry <- range(y <- 10*1:ncol(volcano))
    ry <- ry + c(-1,1) * (diff(rx) - diff(ry))/2
    tcol <- terrain.colors(12)
    par(opar); par(mfrow=c(1,1)); opar <- par(pty = "s", bg = "lightcyan")
    plot(x = 0, y = 0,type = "n", xlim = rx, ylim = ry, xlab = "", ylab = "")
    u <- par("usr")
    rect(u[1], u[3], u[2], u[4], col = tcol[8], border = "red")
    contour(x, y, volcano, col = tcol[2], lty = "solid", add = TRUE)
    title("A Topographic Map of Maunga Whau", font = 4)
    abline(h = 200*0:4, v = 200*0:4, col = "lightgray", lty = 2, lwd = 0.1)
    par(opar)

[Package Contents]