axis.POSIXct {graphics} | R Documentation |
Functions to plot objects of classes "POSIXlt"
,
"POSIXct"
and "Date"
representing calendar dates and times.
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 = "", ...)
x, at |
A date-time 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 . |
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
.
The locations on the axis scale at which tick marks were drawn.
DateTimeClasses, Dates for details of the classes.
attach(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") rm(time) detach(beaver1) plot(.leap.seconds, 1:22, type="n", yaxt="n", xlab="leap seconds", ylab="", bty="n") rug(.leap.seconds) ## or as dates lps <- as.Date(.leap.seconds) plot(lps, 1:22, 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(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)