\Header{axis.POSIXct}{Date-time Plotting Functions}
\alias{plot.POSIXct}{axis.POSIXct}
\alias{plot.POSIXlt}{axis.POSIXct}
\keyword{utilities}{axis.POSIXct}
\keyword{chron}{axis.POSIXct}
\begin{Description}\relax
Functions to plot objects of classes \code{"POSIXlt"} and
\code{"POSIXct"} representing calendar dates and times.\end{Description}
\begin{Usage}
\begin{verbatim}
axis.POSIXct(side, x, at, format, ...)

## S3 method for class 'POSIXct':
plot(x, y, xlab = "", ...)

## S3 method for class 'POSIXlt':
plot(x, y, xlab = "", ...)
\end{verbatim}
\end{Usage}
\begin{Arguments}
\begin{ldescription}
\item[\code{x, at}] A date-time object.
\item[\code{y}] numeric values to be plotted against \code{x}.
\item[\code{xlab}] a character string giving the label for the x axis.
\item[\code{side}] See \code{\Link{axis}}.
\item[\code{format}] See \code{\Link{strptime}}.
\item[\code{...}] Further arguments to be passed from or to other methods,
typically graphical parameters or arguments of
\code{\Link{plot.default}}.
\end{ldescription}
\end{Arguments}
\begin{Details}\relax
The functions plot against an x-axis of date-times.
\code{axis.POSIXct} works quite hard to choose suitable time units
(years, months, days, hours, minutes or seconds) and a sensible
output format, but this can be overridden by supplying a \code{format}
specification.

If \code{at} is supplied for \code{axis.POSIXct} it specifies the
locations of the ticks and labels: if \code{x} is specified a
suitable grid of labels is chosen.\end{Details}
\begin{SeeAlso}\relax
\link{DateTimeClasses} for details of the classes.\end{SeeAlso}
\begin{Examples}
\begin{ExampleCode}
res <- try(data(beav1, package = MASS))
if(!inherits(res, "try-error")) {
attach(beav1)
time <- strptime(paste(1990, day, time %/% 100, time %% 100),
                 "%Y %j %H %M")
plot(time, temp, type="l") # axis at 4-hour intervals.
# now label every hour on the time axis
plot(time, temp, type="l", xaxt="n")
r <- as.POSIXct(round(range(time), "hours"))
axis.POSIXct(1, at=seq(r[1], r[2], by="hour"), format="%H")
rm(time)
detach(beav1)
}

plot(.leap.seconds, 1:22, type="n", yaxt="n",
     xlab="leap seconds", ylab="", bty="n")
rug(.leap.seconds)
\end{ExampleCode}
\end{Examples}

