imagep(x, y, z, 
      xlim, ylim, zlim, 
      flip.y=FALSE,
      xlab="", ylab="", zlab="",
      breaks, col,
      drawContours=FALSE,
      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"),
      ...)z are
      measured.   The values must be finite, non-missing, and in increasing
      order.  By default, equally spaced values from 0 to 1 are used. If
      x is a list, its compoimage, which explains the sTRUE indicating that the image
    should be flipped top to bottom (as to produce a profile image
    for a downward-looking acoustic-doppler profile).oceColorsJet for a rainbow.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.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 odrawPalette=TRUE, a palette is drawn at the right-hand side of the
      main image.  If drawPalette=FALSE, no palette is drawn, and the
      right-hand side of the plpar(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.par("mar")."i") or not; see
    par("xaxs").xaxs but for y axis.par("cex").expression to be performed immediately after
    drawing the data panel.TRUE to get axes on the main image.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.
  NOTE: imagep is an analogue of image, and so it borrows
  a somewhat odd convention: the number of rows in the matrix corresponds to
  the x axis, not the y axis.  (Actually, image
  permits the length of x to match either nrow(z) or
  1+nrow(z), but here only the first is permitted.)
plot.adp.library(oce)
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]")
imagep(volcano)Run the code above in your browser using DataLab