Rev 9615 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
\name{image}\title{Display a Color Image}\usage{image(x, y, z, zlim, col = heat.colors(12),add = FALSE, xaxs = "i", yaxs = "i", xlab, ylab,breaks, oldstyle = FALSE, \dots)}\alias{image}\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{zlim}{the minimum and maximum \code{z} values for which colorsshould be plotted. Each of the given colors will be used to color anequispaced interval of this range. The \emph{midpoints} of theintervals cover the range, so that values just outside the rangewill be plotted.}\item{col}{a list of colors such as that generated by\code{\link{rainbow}}, \code{\link{heat.colors}},\code{\link{topo.colors}}, \code{\link{terrain.colors}} or similarfunctions.}\item{add}{logical; if \code{TRUE}, add to current plot (and disregardthe following arguments). This is rarely useful because\code{image} ``paints'' over existing graphics.}\item{xaxs, yaxs}{style of x and y axis. The default \code{"i"} isappropriate for images. See \code{\link{par}}.}\item{xlab, ylab}{each a character string giving the labels for the x andy axis. Default to the `call names' of \code{x} or \code{y}, or to\code{""} if these where unspecified.}\item{breaks}{a set of breakpoints for the colours: must give one morebreakpoint than colour.}\item{oldstyle}{logical. If true the midpoints of the colour intervalsare equally spaced, and \code{zlim[1]} and \code{zlim[2]} were takento be midpoints. (This was the default prior to \R 1.1.0.)The current default is to have colour intervals of equal lengthsbetween the limits.}\item{\dots}{graphical parameters for \code{\link{plot}} may also bepassed as arguments to this function.}}\description{Creates a grid of colored or gray-scale rectangles with colorscorresponding to the values in \code{z}. This can be used to displaythree-dimensional or spatial data aka ``images''.The functions \code{\link{heat.colors}}, \code{\link{terrain.colors}}and \code{\link{topo.colors}} create heat-spectrum (red to white) andtopographical color schemes suitable for displaying ordered data, with\code{n} giving the number of colors desired.}\details{The length of \code{x} should be equal to the \code{nrow(x)+1} or\code{nrow(x)}. In the first case \code{x} specifies the boundariesbetween the cells: in the second case \code{x} specifies themidpoints of the cells. Similar reasoning applies to \code{y}. Itprobably only makes sense to specify the midpoints of anequally-spaced grid. If you specify just one row or column and alength-one \code{x} or \code{y}, the whole user area in thecorresponding direction is filled.If \code{breaks} is specified then \code{zlim} is unused and thealgorithm used follows \code{\link{cut}}, so intervals are closed onthe right and open on the left except for the lowest interval.}\note{Based on a function by Thomas Lumley\email{thomas@biostat.washington.edu}.The way in which \code{zlim} is divided into colours will be changedfor the next major release (1.1.0) to divide the range intoequal-length intervals.}\seealso{\code{\link{contour}},\code{\link{heat.colors}}, \code{\link{topo.colors}},\code{\link{terrain.colors}}, \code{\link{rainbow}},\code{\link{hsv}}, \code{\link{par}}.}\examples{\testonly{## Degenerate, should still workimage(as.matrix(1))image(matrix(pi,2,4))x <- seq(0,1,len=100)image(x, 1, matrix(x), col=heat.colors(10))image(x, 1, matrix(x), col=heat.colors(10), oldstyle = TRUE)image(x, 1, matrix(x), col=heat.colors(10), breaks = seq(0.1,1.1,len=11))}x <- y <- seq(-4*pi, 4*pi, len=27)r <- sqrt(outer(x^2, y^2, "+"))image(z = z <- cos(r^2)*exp(-r/6), col=gray((0:32)/32))image(z, axes = FALSE, main = "Math can be beautiful ...",xlab = expression(cos(r^2) * e^{-r/6}))contour(z, add = TRUE, drawlabels = FALSE)data(volcano)x <- 10*(1:nrow(volcano))y <- 10*(1:ncol(volcano))image(x, y, volcano, col = terrain.colors(100), axes = FALSE)contour(x, y, volcano, levels = seq(90, 200, by=5), add = TRUE, col = "peru")axis(1, at = seq(100, 800, by = 100))axis(2, at = seq(100, 600, by = 100))box()title(main = "Maunga Whau Volcano", font.main = 4)}\keyword{hplot}\keyword{aplot}