R: Date and Date-time Plotting Functions

axis.POSIXct {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)

[Package graphics version 2.6.2 Index]