Plot a time-series, obeying the timezone and possibly drawing the range in the top-left margin.
oce.plot.ts(x, y, type = "l", xlim, ylim, xlab, ylab, drawTimeRange,
fill = FALSE, xaxs = par("xaxs"), yaxs = par("yaxs"),
cex = par("cex"), cex.axis = par("cex.axis"),
cex.main = par("cex.main"), mgp = getOption("oceMgp"),
mar = c(mgp[1] + if (nchar(xlab) > 0) 1.5 else 1, mgp[1] + 1.5, mgp[2]
+ 1, mgp[2] + 3/4), main = "", despike = FALSE, axes = TRUE,
tformat, marginsAsImage = FALSE, grid = FALSE,
grid.col = "darkgray", grid.lty = "dotted", grid.lwd = 1,
debug = getOption("oceDebug"), ...)
the times of observations.
the observations.
plot type, "l"
for lines, "p"
for points.
optional limit for x axis. This has an additional effect, beyond that for conventional R functions: it effectively windows the data, so that autoscaling will yield limits for y that make sense within the window.
optional limit for y axis.
name for x axis; defaults to ""
.
name for y axis; defaults to the plotted item.
an optional indication of whether/how to draw a time range,
in the top-left margin of the plot; see oce.axis.POSIXct
for details.
boolean, set TRUE
to fill the curve to zero (which it
does incorrectly if there are missing values in y
).
control x axis ending; see par("xaxs")
.
control y axis ending; see par("yaxs")
.
size of labels on axes; see par
("cex").
see par
("cex.axis").
see par
("cex.main").
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")
to set margins.
The default value uses significantly tighter margins than is the norm in R,
which gives more space for the data. However, in doing this, the existing
par("mar")
value is ignored, which contradicts values that may have
been set by a previous call to drawPalette
. To get plot with
a palette, first call drawPalette
, then call
oce.plot.ts
with mar=par("mar")
.
title of plot.
boolean flag that can turn on despiking with
despike
.
boolean, set to TRUE
to get axes plotted
optional format for labels on the time axis
boolean indicating whether to set the right-hand
margin to the width normally taken by an image drawn with
imagep
.
if TRUE
, a grid will be drawn for each panel. (This
argument is needed, because calling grid
after doing a
sequence of plots will not result in useful results for the individual
panels.
color of grid
line type of grid
line width of grid
a flag that turns on debugging. Set to 1 to get a moderate amount of debugging information, or to 2 to get more.
graphical parameters passed down to plot
.
A list is silently returned, containing xat
and yat
,
values that can be used by oce.grid
to add a grid to the plot.
Depending on the version of R, the standard plot
and
plot.ts
routines will not obey the time zone of the data.
This routine gets around that problem. It can also plot the time range in
the top-left margin, if desired; this string includes the timezone, to
remove any possible confusion.
The time axis is drawn with oce.axis.POSIXct
.
# NOT RUN {
library(oce)
t0 <- as.POSIXct("2008-01-01", tz="UTC")
t <- seq(t0, length.out=48, by="30 min")
y <- sin(as.numeric(t - t0) * 2 * pi / (12 * 3600))
oce.plot.ts(t, y, type='l', xaxs='i')
# }
Run the code above in your browser using DataLab