\name{plot.im} \alias{plot.im} \alias{image.im} \title{Plot a Pixel Image} \description{ Plot a pixel image. } \usage{ \method{plot}{im}(x, \dots, col=NULL, ribbon=TRUE, ribsep=0.15, ribwid=0.05, ribn=1024) } \arguments{ \item{x}{ The pixel image to be plotted. An object of class \code{"im"} (see \code{\link{im.object}}). } \item{\dots}{ Extra arguments passed to \code{\link{image}} to control the plot. } \item{col}{ Colours for the pixel values. Either a character vector of colours, or an object of class \code{\link{colourmap}}. } \item{ribbon}{ Logical flag indicating whether to display a ribbon showing the colour map. } \item{ribsep}{ Factor controlling the space between the ribbon and the image. } \item{ribwid}{ Factor controlling the width of the ribbon. } \item{ribn}{ Number of different values to display in the ribbon. } } \value{ none. } \details{ This is the \code{plot} method for the class \code{"im"}. [It is also the \code{image} method for \code{"im"}.] The pixel image \code{x} is displayed on the current plot device, using equal scales on the \code{x} and \code{y} axes. If \code{ribbon=TRUE}, a legend will be plotted at the right of the image. The legend consists of a colour ribbon and an axis with tick-marks, showing the correspondence between the pixel values and the colour map. Arguments \code{ribsep, ribwid, ribn} control the appearance of the ribbon. The width of the ribbon is \code{ribwid} times the size of the pixel image, where `size' means the larger of the width and the height. The distance separating the ribbon and the image is \code{ribsep} times the size of the pixel image. The ribbon contains \code{ribn} different numerical values, evenly spaced between the minimum and maximum pixel values in the image \code{x}, rendered according to the chosen colour map. The pixel values are displayed using the colours given in the argument \code{col}. This may be either an explicit colour map (an object of class \code{"colourmap"}, created by the function \code{\link{colourmap}}) or a character vector or integer vector that specifies a set of colours. If \code{col} is an explicit colour map (an object of class \code{"colourmap"}) then the same colour always represents the same numeric value. For example this ensures that when we plot different images, the colour maps are consistent. If \code{col} is a character vector or integer vector that specifies colours, then the colour mapping will be stretched to match the range of pixel values in the image \code{x}. In this case, the mapping of pixel values to colours is determined as follows. \describe{ \item{logical-valued images:}{the values \code{FALSE} and \code{TRUE} are mapped to the colours \code{col[1]} and \code{col[2]} respectively. The vector \code{col} should have length 2. } \item{factor-valued images:}{the factor levels \code{levels(x)} are mapped to the entries of \code{col} in order. The vector \code{col} should have the same length as \code{levels(x)}. } \item{numeric-valued images:}{ By default, the range of pixel values in \code{x} is divided into \code{n = length(col)} equal subintervals, which are mapped to the colours in \code{col}. (If \code{col} was not specified, it defaults to a vector of 255 colours.) Alternatively if the argument \code{zlim} is given, it should be a vector of length 2 specifying an interval of real numbers. This interval will be used instead of the range of pixel values. The interval from \code{zlim[1]} to \code{zlim[2]} will be mapped to the colours in \code{col}. This facility enables the user to plot several images using a consistent colour map. Alternatively if the argument \code{breaks} is given, then this specifies the endpoints of the subintervals that are mapped to each colour. This is incompatible with \code{zlim}. The arguments \code{col} and \code{zlim} or \code{breaks} are passed to the function \code{\link{image.default}}. For examples of the use of these arguments, see \code{\link{image.default}}. } } Other graphical parameters controlling the display of both the pixel image and the ribbon are passed through the \code{...} arguments directly to the function \code{\link{image.default}}. To suppress the axis tick marks and labels, set \code{axes=FALSE}. } \seealso{ \code{\link{im.object}}, \code{\link{colourmap}}, \code{\link{contour.im}}, \code{\link{persp.im}}, \code{\link{image.default}}, \code{\link{spatstat.options}} } \examples{ # an image Z <- setcov(owin()) plot(Z) # stretchable colour map plot(Z, col=terrain.colors(128), axes=FALSE) # fixed colour map tc <- colourmap(rainbow(128), breaks=seq(-1,2,length=129)) plot(Z, col=tc) } \author{Adrian Baddeley \email{adrian@maths.uwa.edu.au} \url{http://www.maths.uwa.edu.au/~adrian/} and Rolf Turner \email{r.turner@auckland.ac.nz} } \keyword{spatial} \keyword{hplot}