axis.POSIXct
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, ...)
Arguments
x, at | A date-time or date object. |
side | See |
format | See |
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. |
Details
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
.
The date-times for a "POSIXct"
input are interpreted in the time zone give by the "tzone"
attribute if there is one, otherwise the current time zone.
The way the date-times are rendered (especially month names) is controlled by the locale setting of category "LC_TIME"
(see Sys.setlocale
).
Value
The locations on the axis scale at which tick marks were drawn.
See Also
DateTimeClasses, Dates for details of the classes.
Axis
.
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, seq_along(.leap.seconds), type = "n", yaxt = "n", xlab = "leap seconds", ylab = "", bty = "n") rug(.leap.seconds) ## or as dates lps <- as.Date(.leap.seconds) plot(lps, seq_along(.leap.seconds), 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)
Copyright (©) 1999–2012 R Foundation for Statistical Computing.
Licensed under the GNU General Public License.