Learn R Programming

oce (version 0.2-1)

imagep: Plot an image with a colour palette

Description

Plot an image with a colour palette

Usage

imagep(x, y, z, 
      xlim, ylim, zlim, 
      flip.y=FALSE,
      xlab="", ylab="", zlab="",
      breaks, col,
      drawContours=TRUE,
      drawTimeRange=getOption("oceDrawTimeRange"),
      drawPalette=TRUE,
      mgp=getOption("oceMgp"),
      mar=c(mgp[1]+if(nchar(xlab)>0) 1.5 else 1,
            mgp[1]+if(nchar(ylab)>0) 1.5 else 1,
            mgp[2]+1/2, 
            1/2),
      xaxs="i",
      yaxs="i",
      cex=par("cex"),
      adorn,
      axes=TRUE,
      main="",
      debug=getOption("oceDebug"),
      ...)

Arguments

x,y
locations of grid lines along which values of z are measured. The values must be finite, non-missing, and in increasing order.
z
matrix containing data to be indicated on the plot. dim(z)[1] must equal length(x), and the same for y.
xlim,ylim,zlim
limits on x axis, y axis, and the image values.
flip.y
boolean, with TRUE indicating that the image should be flipped top to bottom (as to produce a profile image for a downward-looking acoustic-doppler profile).
xlab,ylab,zlab
names for x axis, y axis, and the image values.
breaks
the z values for breaks in the colour scheme.
col
either a vector of colours corresponding to the breaks, of length 1 plus the number of breaks, or a function specifying colours, e.g. oceColorsJet for a rainbow.
drawContours
boolean, TRUE to get contours on the image, and palette, at the colour breaks. Images with a great deal of high-wavenumber variation look poor with contours.
drawTimeRange
boolean, only used if the x axis is a time. If TRUE, then an indication of the time range of the data (not the axis) is indicated at the top-left margin of the graph. This is useful because the labels on time axes o
drawPalette
boolean, with value TRUE to draw a palette at the right-hand side of the main image.
mgp
3-element numerical vector to use for par(mgp), and also for par(mar), computed from this. The default is tighter than the R default, in order to use more space for the data and less for the axes.
mar
value to be used with par("mar").
xaxs
character indicating whether image should extend to edge of x axis (with value "i") or not; see par("xaxs").
yaxs
as xaxs but for y axis.
cex
size of labels on axes and palette; see par("cex").
adorn
optional expression to be performed immediately after drawing the data panel.
axes
logical, set TRUE to get axes on the main image.
main
title for plot.
debug
a flag that turns on debugging. Set to 1 to get a moderate amount of debugging information, or to 2 to get more.
...
optional arguments passed to plotting functions.

Value

  • None.

Details

Creates an image with a colour palette to the right. The effect is similar to filled.contour except that with imagep it is possible to set the layout outside the function, which enables the creation of plots with many image-palette panels. Note that the contour lines may not coincide with the colour transitions, in the case of coarse images.

Note that this does not use layout or any of the other screen splitting methods. It simply manipulates margins, and draws two plots together. This lets users employ their favourite layout schemes.

The palette is drawn before the image, so that further drawing can be done on the image if desired, if the user prefers not to use the adorn argument.

See Also

This is used by plot.adp.

Examples

Run this code
library(oce)
opar <- par(no.readonly = TRUE)
par(mfrow=c(1,1))
h <- seq(0, 50, length.out=200)
drho <- seq(1, 3, length.out=200)
speed <- sqrt(9.8*outer(drho/1024, h, "*"))
imagep(h, drho, speed, xlab="Equivalent depth [m]",
  ylab=expression(paste(Delta*rho, "[kg/m^3]")),
  zlab="Internal-wave speed [m/s]")
par(opar)

Run the code above in your browser using DataLab