axis.POSIXct            package:graphics            R Documentation

Date and Date-time Plotting Functions

Description:

     Functions to plot objects of classes '"POSIXlt"', '"POSIXct"' and
     '"Date"' representing calendar dates and times.

Usage:

     axis.POSIXct(side, x, at, format, labels = TRUE, ...)
     axis.Date(side, x, at, format, labels = TRUE, ...)

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

Arguments:

   x, at: A date-time or date object.

       y: numeric values to be plotted against 'x'.

    xlab: a character string giving the label for the x axis.

    side: See 'axis'.

  format: See 'strptime'.

  labels: Either a logical value specifying whether annotations are to
          be made at the tickmarks, or a vector of character strings to
          be placed at the tickpoints.

     ...: Further arguments to be passed from or to other methods,
          typically graphical parameters or arguments of
          'plot.default'.  For the 'plot' methods, also 'format'.

Details:

     The functions plot against an x-axis of date-times. 'axis.POSIXct'
     and 'axis.Date' work 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 'format'
     specification.

     If 'at' is supplied it specifies the locations of the ticks and
     labels whereas if 'x' is specified a suitable grid of labels is
     chosen. Printing of tick labels can be suppressed by using 'labels
     = FALSE'.

Value:

     The locations on the axis scale at which tick marks were drawn.

See Also:

     DateTimeClasses, Dates for details of the classes.

Examples:

     with(beaver1, {
     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")
     })

     plot(.leap.seconds, 1:23, type="n", yaxt="n",
          xlab="leap seconds", ylab="", bty="n")
     rug(.leap.seconds)
     ## or as dates
     lps <- as.Date(.leap.seconds)
     plot(lps, 1:23, type = "n", yaxt = "n", xlab = "leap seconds",
          ylab = "", bty = "n")
     rug(lps)

     ## 100 random dates in a 10-week period
     random.dates <- as.Date("2001/1/1") + 70*sort(stats::runif(100))
     plot(random.dates, 1:100)
     # or for a better axis labelling
     plot(random.dates, 1:100, xaxt="n")
     axis.Date(1, at=seq(as.Date("2001/1/1"), max(random.dates)+6, "weeks"))
     axis.Date(1, at=seq(as.Date("2001/1/1"), max(random.dates)+6, "days"),
          labels = FALSE, tcl = -0.2)

