Rsk data may be in many forms, and it is not easy to devise a general plotting strategy for all of them. The present function is quite crude, on the assumption that users will understand their own datasets, and that they can devise plots that are best-suited to their applications. Sometimes, the sensible scheme is to coerce the object into another form, e.g. using plot(as.ctd(rsk)) if the object contains CTD-like data. Other times, users should extract data from the rsk object and construct plots themselves. The idea is to use the present function mainly to get an overview, and for that reason, the default plot type (set by which) is a set of time-series plots, because the one thing that is definitely known about rsk objects is that they contain a time vector in their data slot.

# S4 method for rsk
  which = "timeseries",
  drawTimeRange = getOption("oceDrawTimeRange"),
  abbreviateTimeRange = getOption("oceAbbreviateTimeRange"),
  useSmoothScatter = FALSE,
  mgp = getOption("oceMgp"),
  mar = c(mgp[1] + 1.5, mgp[1] + 1.5, 1.5, 1.5),
  main = "",
  debug = getOption("oceDebug"),



an rsk object.


character indicating desired plot types. These are graphed in panels running down from the top of the page. See “Details” for the meanings of various values of which.


optional limits for time axis. If not provided, the value will be inferred from the data.


optional limits for the y axis. If not provided, the value will be inferred from the data. (It is helpful to specify this, if the auto-scaled value will be inappropriate, e.g. if more lines are to be added later). Note that this is ignored, unless length(which) == 1 and which corresponds to one of the data fields. If a multipanel plot of a specific subset of the data fields is desired with ylim control, it should be done panel by panel (see Examples).


optional label for x axis.


optional label for y axis.


optional argument passed to oce.plot.ts(), for plot types that call that function. (See strptime() for the format used.)


boolean that applies to panels with time as the horizontal axis, indicating whether to draw the time range in the top-left margin of the plot.


boolean that applies to panels with time as the horizontal axis, indicating whether to abbreviate the second time in the time range (e.g. skipping the year, month, day, etc. if it's the same as the start time).


a boolean to cause smoothScatter() to be used for profile plots, instead of plot().


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.


value to be used with par("mar").


main title for plot, used just on the top panel, if there are several panels.


a flag that turns on debugging, if it exceeds 0.


optional arguments passed to plotting functions.


Plots produced are time series plots of the data in the object. The default, which="timeseries" plots all data fields, and over-rides any other specification. Specific fields can be plotted by naming the field, e.g. which="temperature" to plot a time series of just the temperature field.


Dan Kelley and Clark Richards


plot(rsk) # default timeseries plot of all data fields

## A multipanel plot of just pressure and temperature with ylim
par(mfrow=c(2, 1))
plot(rsk, which="pressure", ylim=c(10, 30))
plot(rsk, which="temperature", ylim=c(2, 4))