Plot CTD data, by default in a four-panel display showing (a) profiles of salinity and temperature, (b) profiles of density and the square of buoyancy frequency, (c) a TS diagram and (d) a coastline diagram indicating the station location.
# S4 method for ctd
plot(x, which, col = par("fg"), fill,
borderCoastline = NA, colCoastline = "lightgray",
eos = getOption("oceEOS", default = "gsw"), ref.lat = NaN,
ref.lon = NaN, grid = TRUE, coastline = "best", Slim, Clim, Tlim,
plim, densitylim, N2lim, Rrholim, dpdtlim, timelim, lonlim, latlim,
drawIsobaths = FALSE, clongitude, clatitude, span, showHemi = TRUE,
lonlabel = NULL, latlabel = NULL, sides = NULL,
projection = NULL, parameters = NULL, orientation = NULL,
latlon.pch = 20, latlon.cex = 1.5, latlon.col = "red", cex = 1,
cex.axis = par("cex.axis"), pch = 1, useSmoothScatter = FALSE, df,
keepNA = FALSE, type, mgp = getOption("oceMgp"), mar = c(mgp[1] +
1.5, mgp[1] + 1.5, mgp[1] + 1.5, mgp[1] + 1), inset = FALSE,
add = FALSE, debug = getOption("oceDebug"), ...)
A ctd
object, i.e. one inheriting from ctd-class
.
List of desired plot types, as given below. If which
is not
supplied, a default will be used. This default will be c(1,2,3,5)
if the
CTD is in profiling mode (i.e. if deploymentType
in the metadata
slot equals "profile"
,
or is missing) or
"moored"
/"thermosalinograph"
, the default will be c(30, 3, 31, 5)
. If it
is "towyo"
, c(30, 31, 32, 3)
will be used. Details are as
follows.
which=1
or which="salinity+temperature"
gives
a combined profile of temperature and salinity
which=2
or which="density+N2"
gives a combined
profile of \(\sigma_\theta\) and \(N^2\)
which=3
or which="TS"
gives a TS plot
which=4
or which="text"
gives a textual
summary of some aspects of the data
which=5
or which="map"
gives a map plotted
with plot,coastline-method
, with a dot for
the station location. Notes near the top boundary of the map give the
station number, the sampling date, and the name of the chief scientist,
if these are known. Note that the longitude will be converted to a value
between -180 and 180 before plotting. (See also notes
about span
.)
which=5.1
as for which=5
, except that the file name
is drawn above the map
which=6
or which="density+dpdt"
gives a
profile of density and \(dP/dt\), which is useful for
evaluating whether the instrument is dropping properly through the
water column
which=7
or which="density+time"
gives a
profile of density and time
which=8
or which="index"
gives a profile of
index number (especially useful for ctdTrim
)
which=9
or which="salinity"
gives a salinity profile
which=10
or which="temperature"
gives a temperature profile
which=11
or which="density"
gives a density profile
which=12
or which="N2"
gives an \(N^2\) profile
which=13
or which="spice"
gives a spiciness profile
which=14
or which="tritium"
gives a tritium profile
which=15
or which="Rrho"
gives an Rrho profile
which=16
or which="RrhoSF"
gives an RrhoSF profile
which=17
or which="conductivity"
gives a conductivity profile
which=20
or which="CT"
gives a Conservative Temperature profile
which=21
or which="SA"
gives an Absolute Salinity profile
which=30
gives a time series of Salinity
which=31
gives a time series of Temperature
which=32
gives a time series of pressure
which=33
gives a time series of sigmaTheta
Color of lines or symbols.
A legacy parameter that will be permitted only temporarily; see “History”.
Color of coastlines and international borders, passed
to plot,coastline-method
if a map is included in which
.
Fill color of coastlines and international borders, passed
to plot,coastline-method
if a map is included in which
. Set to
NULL
to avoid filling.
String indicating the equation of state to be used, either
"unesco"
or "gsw"
.
Latitude of reference point for distance calculation.
Longitude of reference point for distance calculation.
Set TRUE
to get a grid on all plots.
A specification of the coastline to be used for
which="map"
. This may be a coastline object, whether built-in or
supplied by the user, or a character string. If the later, it may be the
name of a built-in coastline ("coastlineWorld"
,
"coastlineWorldFine"
, or
"coastlineWorldCoarse"
), or "best"
, to choose
a suitable coastline for the locale, or "none"
to prevent
the drawing of a coastline. There is a speed penalty for providing
coastline
as a character string, because it forces
plot,coastline-method
to load it on every call. So, if
plot,coastline-method
is to be called several times for a given
coastline, it makes sense to load it in before the first call, and to
supply the object as an argument, as opposed to the name of the object.
Optional limits of salinity axes.
Optional limits of conductivity axes.
Optional limits of temperature axes.
Optional limits of pressure axes.
Optional limits of density axis, whether that axis be horizontal or vertical.
Optional limits of \(N^2\) axis.
Optional limits of \(R_rho\) axis.
Optional limits of dP/dt axis.
Optional limits of delta-time axis.
Optional limits of longitude axis of map (ignored if no map plotted) DEPRECATED 2014-01-07.
Optional limits of latitude axis of map (ignored if no map plotted) DEPRECATED 2014-01-07.
An indication of whether to draw depth contours on
maps, in addition to the coastline. The argument has no effect except
for panels in which the value of which
equals "map"
or
the equivalent numerical code, 5
. If drawIsobaths
is
FALSE
, then no contours are drawn. If drawIsobaths
is TRUE
, then contours are selected automatically,
using pretty(c(0,300))
if the station depth is
under 100m or pretty(c(0,5500))
otherwise.
If drawIsobaths
is a numerical vector,
then the indicated depths are drawn. For plots drawn with projection
set to NULL
, the contours are added with contour
and otherwise mapContour
is used. To customize
the resultant contours, e.g. setting particular line types or colors,
users should call these functions directly (see e.g. Example 2).
Center longitude.
Center latitude.
Optional span of map, in km. If not given, this will be determined as a small multiple of the distance to the nearest point of land, in an attempt to show some coastline in the plot.
Logical indicating whether to show hemisphere in axis tick labels.
Optional vectors of longitude and latitude to
label on the indicated sides of plot, passed to plot,coastline-method
.
Using these arguments permits reasonably simple customization. If they are are
not provided, reasonable defaults will be used.
Projection for map, if desired. If this is NULL
, no
projection will be used; the map will simply show longitude and latitude in a
cartesian frame, scaled to retain shapes at the centre. If this is the string
"automatic"
, then either a Mercator or Stereographic projection will be
used, depending on whether the CTD station is within 70 degrees of the equator
or at higher latitudes. Finally, if this is a string in the format used by
mapPlot
, then it is is passed to that function.
a deprecated argument that has been ignored since February 2016; see oce-deprecated.
a deprecated argument that has been ignored since February 2016; see oce-deprecated.
Symbol code for sample location (ignored if no map plotted).
Symbol expansion factor for sample location (ignored if no map plotted).
Color of symbol for sample location (ignored if no map plotted).
Size to be used for plot symbols (see par
).
Size factor for axis labels (see par
).
Code for plotting symbol (see par
).
Boolean, set to TRUE
to use
smoothScatter
instead of plot
to draw the plot.
Optional argument that is ignored except for plotting buoyancy
frequency; in that case, it is passed to swN2
as the argument
named df
.
Flag indicating whether to keep NA
values in linegraphs,
which will yield breaks in the lines.
The type of plot to draw, using the same scheme as
plot
. If supplied, this is increased to be the
same length as which
, if necessary, and then supplied to
each of the individual plot calls. If it is not supplied,
then those plot calls use defaults (e.g. using a line for
plotProfile
, using dots for plotTS
,
etc).
Three-element numerical vector specifying axis-label geometry,
passed to par
.
The default establishes tighter margins than in the usual R setup.
Four-element numerical vector specifying margin geometry,
passed to par
.
The default establishes tighter margins than in the usual R setup.
Note that the value of mar
is ignored for the map panel
of multi-panel maps; instead, the present value of
par("mar")
is used, which in the default call will
make the map plot region equal that of the previously-drawn
profiles and TS plot.
Logical, indication of whether to add to an existing plot. This
only works if length(which)=1
, and it will yield odd results if the
value of which
does not match that in the previous plots.
an integer specifying whether debugging information is
to be printed during the processing. This is a general parameter that
is used by many oce
functions. Generally, setting debug=0
turns off the printing, while higher values suggest that more information
be printed. If one function calls another, it usually reduces the value of
debug
first, so that a user can often obtain deeper debugging
by specifying higher debug
values.
Optional arguments passed to plotting functions. A common example is
to set df
, for use in swN2 calculations.
Until February, 2016, plot,ctd-method
relied on a now-defunct argument
fill
to control colors; colCoastline
is to be used now, instead.
Also, now it is possible to set the color of coasts and international
boundaries, with borderCoastline
.
Creates a multi-panel summary plot of data measured in a CTD cast. The
default values of which
and other arguments are chosen to be useful
for quick overviews of data. However, for detailed work it is common
to call the present function with just a single value of which
, e.g.
with four calls to get four panels. The advantage of this is that it provides
much more control over the display, and also it permits the addition of extra
display elements (lines, points, margin notes, etc.) to the individual panels.
Note that panels that draw more than one curve (e.g. which="salinity+temperature"
draws temperature and salinity profiles in one graph), the value of par("usr")
is established by the second profile to have been drawn. Some experimentation will
reveal what this profile is, for each permitted which
case, although
it seems unlikely that this will help much ... the simple fact is that drawing two
profiles in one graph is useful for a quick overview, but not useful for e.g. interactive
analysis with locator
to flag bad data, etc.
The documentation for ctd-class
explains the structure of CTD
objects, and also outlines the other functions dealing with them.
Other functions that plot oce data: plot,adp-method
,
plot,adv-method
,
plot,amsr-method
,
plot,argo-method
,
plot,bremen-method
,
plot,cm-method
,
plot,coastline-method
,
plot,gps-method
,
plot,ladp-method
,
plot,landsat-method
,
plot,lisst-method
,
plot,lobo-method
,
plot,met-method
,
plot,odf-method
,
plot,rsk-method
,
plot,satellite-method
,
plot,sealevel-method
,
plot,section-method
,
plot,tidem-method
,
plot,topo-method
,
plot,windrose-method
,
plotProfile
, plotScan
,
plotTS
, tidem-class
Other things related to ctd data: [[,ctd-method
,
[[<-,ctd-method
, as.ctd
,
cnvName2oceName
, ctd-class
,
ctdDecimate
, ctdFindProfiles
,
ctdRaw
, ctdTrim
,
ctd
, handleFlags,ctd-method
,
initialize,ctd-method
,
initializeFlagScheme,ctd-method
,
oceNames2whpNames
,
oceUnits2whpUnits
,
plotProfile
, plotScan
,
plotTS
, read.ctd.itp
,
read.ctd.odf
, read.ctd.sbe
,
read.ctd.woce.other
,
read.ctd.woce
, read.ctd
,
setFlags,ctd-method
,
subset,ctd-method
,
summary,ctd-method
,
woceNames2oceNames
,
woceUnit2oceUnit
, write.ctd
# NOT RUN {
## 1. simple plot
library(oce)
data(ctd)
plot(ctd)
## 2. how to customize depth contours
par(mfrow=c(1,2))
data(section)
stn <- section[["station", 105]]
plot(stn, which='map', drawIsobaths=TRUE)
plot(stn, which='map')
data(topoWorld)
tlon <- topoWorld[["longitude"]]
tlat <- topoWorld[["latitude"]]
tdep <- -topoWorld[["z"]]
contour(tlon, tlat, tdep, drawlabels=FALSE,
levels=seq(1000,6000,1000), col='lightblue', add=TRUE)
contour(tlon, tlat, tdep, vfont=c("sans serif", "bold"),
levels=stn[['waterDepth']], col='red', lwd=2, add=TRUE)
# }
Run the code above in your browser using DataLab