Plot echosounder data.
Simple linear approximation is used when a newx
value is specified
with the which=2
method, but arguably a gridding method should be
used, and this may be added in the future.
# S4 method for echosounder
plot(
x,
which = 1,
beam = "a",
newx,
xlab,
ylab,
xlim,
ylim,
zlim,
type = "l",
col,
lwd = 2,
despike = FALSE,
drawBottom,
ignore = 5,
drawTimeRange = FALSE,
drawPalette = TRUE,
radius,
coastline,
mgp = getOption("oceMgp"),
mar = c(mgp[1], mgp[1] + 1.5, mgp[2] + 1/2, 1/2),
atTop,
labelsTop,
tformat,
debug = getOption("oceDebug"),
...
)
A list is silently returned, containing xat
and yat
,
values that can be used by oce.grid()
to add a grid to the plot.
an echosounder object.
list of desired plot types: which=1
or which="zt
image"
gives a z-time image, which=2
or which="zx image"
gives a z-distance image, and which=3
or which="map"
gives a
map showing the cruise track. In the image plots, the display is of
log10()
of amplitude, trimmed to zero for any amplitude values
less than 1 (including missing values, which equal 0). Add 10 to the
numeric codes to get the secondary data (non-existent for single-beam files,
a more detailed specification of the data to be plotted. For
single-beam data, this may only be "a"
. For dual-beam data, this may
be "a"
for the narrow-beam signal, or "b"
for the wide-beam
signal. For split-beam data, this may be "a"
for amplitude,
"b"
for x-angle data, or "c"
for y-angle data.
optional vector of values to appear on the horizontal axis if
which=1
, instead of time. This must be of the same length as the
time vector, because the image is remapped from time to newx
using
approx()
.
optional labels for the horizontal and vertical axes; if
not provided, the labels depend on the value of which
.
optional range for x axis.
optional range for y axis.
optional range for color scale.
type of graph, "l"
for line, "p"
for points, or
"b"
for both.
a function providing the color scale for image plots.
This value is passed to imagep()
, which draws
the images. Since imagep()
defaults col
to
oceColorsViridis()
, that is effectively also the default
for the present function. (Prior to 2023-03-18, the present
function defaulted col
to oceColorsJet()
.)
line width (ignored if type="p"
).
remove vertical banding by using smooth()
to
smooth across image columns, row by row.
optional flag used for section images. If TRUE
,
then the bottom is inferred as a smoothed version of the ridge of highest
image value, and data below that are grayed out after the image is drawn.
If drawBottom
is a color, then that color is used, instead of
white. The bottom is detected with findBottom()
, using the
ignore
value described next.
optional flag specifying the thickness in metres of a surface
region to be ignored during the bottom-detection process. This is ignored
unless drawBottom=TRUE
.
if TRUE
, the time range will be drawn at the
top. Ignored except for which=2
, i.e. distance-depth plots.
if TRUE
, the palette will be drawn.
radius to use for maps; ignored unless which=3
or
which="map"
.
coastline to use for maps; ignored unless which=3
or
which="map"
.
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")
.
optional vector of time values, for labels at the top of the
plot produced with which=2
. If labelsTop
is provided, then it
will hold the labels. If labelsTop
is not provided, the labels will
be constructed with the format()
function, and these may be
customized by supplying a format
in the ...
arguments.
optional vector of character strings to be plotted above
the atTop
times. Ignored unless atTop
was provided.
optional argument passed to imagep()
, for plot
types that call that function. (See strptime()
for the format
used.)
set to an integer exceeding zero, to get debugging information during processing.
optional arguments passed to plotting functions. For example,
for maps, it is possible to specify the radius of the view in kilometres,
with radius
.
Dan Kelley, with extensive help from Clark Richards
Other things related to echosounder data:
[[,echosounder-method
,
[[<-,echosounder-method
,
as.echosounder()
,
echosounder
,
echosounder-class
,
findBottom()
,
read.echosounder()
,
subset,echosounder-method
,
summary,echosounder-method
library(oce)
data(echosounder)
plot(echosounder, drawBottom = TRUE)
Run the code above in your browser using DataLab