Rev 41593 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
\name{filled.contour}\alias{filled.contour}\title{Level (Contour) Plots}\usage{filled.contour(x = seq(0, 1, length.out = nrow(z)),y = seq(0, 1, length.out = ncol(z)),z,xlim = range(x, finite=TRUE),ylim = range(y, finite=TRUE),zlim = range(z, finite=TRUE),levels = pretty(zlim, nlevels), nlevels = 20,color.palette = cm.colors,col = color.palette(length(levels) - 1),plot.title, plot.axes, key.title, key.axes,asp = NA, xaxs = "i", yaxs = "i", las = 1,axes = TRUE, frame.plot = axes, \dots)}\arguments{\item{x,y}{locations of grid lines at which the values in \code{z} aremeasured. These must be in ascending order. By default, equallyspaced values from 0 to 1 are used. If \code{x} is a \code{list},its components \code{x$x} and \code{x$y} are used for \code{x}and \code{y}, respectively. If the list has component \code{z} thisis used for \code{z}.}\item{z}{a matrix containing the values to be plotted (\code{NA}s areallowed). Note that \code{x} can be used instead of \code{z} forconvenience.}\item{xlim}{x limits for the plot.}\item{ylim}{y limits for the plot.}\item{zlim}{z limits for the plot.}\item{levels}{a set of levels which are used to partition the rangeof \code{z}. Must be \bold{strictly} increasing (and finite). Areaswith \code{z} values between consecutive levels are painted with thesame color.}\item{nlevels}{if \code{levels} is not specified, the range of \code{z},values is divided into approximately this many levels.}\item{color.palette}{a color palette function to be used to assigncolors in the plot.}\item{col}{an explicit set of colors to be used in the plot.This argument overrides any palette function specification.}\item{plot.title}{statements which add titles to the main plot.}\item{plot.axes}{statements which draw axes (and a \code{\link{box}})on the main plot. This overrides the default axes.}\item{key.title}{statements which add titles for the plot key.}\item{key.axes}{statements which draw axes on the plot key.This overrides the default axis.}\item{asp}{the \eqn{y/x} aspect ratio, see \code{\link{plot.window}}.}\item{xaxs}{the x axis style. The default is to use internallabeling.}\item{yaxs}{the y axis style. The default is to use internallabeling.}\item{las}{the style of labeling to be used. The default is touse horizontal labeling. }\item{axes, frame.plot}{logicals indicating if axes and a box should bedrawn, as in \code{\link{plot.default}}.}\item{\dots}{additional graphical parameters, currently only passed to\code{\link{title}()}.}}\description{This function produces a contour plot with the areas between thecontours filled in solid color (Cleveland calls this a level plot). Akey showing how the colors map to z values is shown to the right ofthe plot.}\references{Cleveland, W. S. (1993)\emph{Visualizing Data}.Summit, New Jersey: Hobart.}\author{Ross Ihaka.}\note{This function currently uses the \code{layout} function and so isrestricted to a full page display. As an alternative consider the\code{\link[lattice]{levelplot}} and\code{\link[lattice]{contourplot}} functions from the \pkg{lattice}package which work in multipanel displays.The output produced by \code{filled.contour} is actually a combinationof two plots; one is the filled contour and one is the legend. Twoseparate coordinate systems are set up for these two plots, but theyare only used internally - once the function has returned thesecoordinate systems are lost. If you want to annotate the main contourplot, for example to add points, you can specify graphics commands inthe \code{plot.axes} argument. An example is given below.}\seealso{\code{\link{contour}}, \code{\link{image}},\code{\link{palette}}; \code{\link[lattice]{contourplot}} from package\pkg{lattice}.}\examples{require(grDevices) # for coloursfilled.contour(volcano, color = terrain.colors, asp = 1)# simplex <- 10*1:nrow(volcano)y <- 10*1:ncol(volcano)filled.contour(x, y, volcano, color = terrain.colors,plot.title = title(main = "The Topography of Maunga Whau",xlab = "Meters North", ylab = "Meters West"),plot.axes = { axis(1, seq(100, 800, by = 100))axis(2, seq(100, 600, by = 100)) },key.title = title(main="Height\n(meters)"),key.axes = axis(4, seq(90, 190, by = 10)))# maybe also asp=1mtext(paste("filled.contour(.) from", R.version.string),side = 1, line = 4, adj = 1, cex = .66)# Annotating a filled contour plota <- expand.grid(1:20, 1:20)b <- matrix(a[,1] + a[,2], 20)filled.contour(x = 1:20, y = 1:20, z = b,plot.axes={ axis(1); axis(2); points(10,10) })## Persian Rug Art:x <- y <- seq(-4*pi, 4*pi, len = 27)r <- sqrt(outer(x^2, y^2, "+"))filled.contour(cos(r^2)*exp(-r/(2*pi)), axes = FALSE)## rather, the key *should* be labeled:filled.contour(cos(r^2)*exp(-r/(2*pi)), frame.plot = FALSE, plot.axes = {})}\keyword{hplot}\keyword{aplot}