timeAxis | R Documentation |
Labels date axes at sensible intervals in the time domain of weeks to decades.
timeAxis(
side = 1,
timeAxis = NA,
origin = "1970-01-01",
startyear = NULL,
stopyear = NULL,
n = 5,
npm = NULL,
npy = NA,
format = "%d.%m.\n%Y",
yformat = "%Y",
labels = format.Date(d, format),
ym = FALSE,
mcex = 0.6,
mmgp = c(3, 0, 0),
midyear = FALSE,
midmonth = FALSE,
midargs = NULL,
mgp = c(3, 1.5, 0),
cex.axis = 1,
tick = TRUE,
tcl = par("tcl"),
las = 1,
...
)
side |
Which |
timeAxis |
Logical indicating whether the axis is |
origin |
Origin for |
startyear |
Integer. starting year. DEFAULT: NULL = internally computed from |
stopyear |
Ditto for ending year. DEFAULT: NULL |
n |
Approximate number of labels that should be printed (as in |
npm |
Number of labels per month, overrides n. DEFAULT: NULL = internally computed. |
npy |
Number of labels per year, overrides npm and n. DEFAULT: NA |
format |
Format of date, see details in |
yformat |
Format of year if |
labels |
labels. DEFAULT: format.Date(d, format) |
ym |
Label months with first letter at the center of the month and year at center below.
Sets midyear and midmonth to TRUE. Uses |
mcex |
|
mmgp |
|
midyear |
Place labels in the middle of the year? if TRUE, format default is "%Y". DEFAULT: FALSE |
midmonth |
Place labels in the middle of the month? if TRUE, format default is "%m\n%Y". DEFAULT: FALSE |
midargs |
List of arguments passed to |
mgp |
MarGinPlacement, see |
cex.axis |
Character EXpansion (letter size). DEFAULT: 1 |
tick |
Draw tick lines? DEFAULT: TRUE |
tcl |
Tick length (negative to go below axis) in text line height units like mgp[2] Changed to -2.5 for year borders if ym=TRUE. DEFAULT: par("tcl") |
las |
LabelAxisStyle for orientation of labels. DEFAULT: 1 (upright) |
... |
Further arguments passed to |
The dates that were labeled
Berry Boessenkool, berry-b@gmx.de, Feb 2015, update labels and midyear Dec 2015
monthLabs
for the numbercrunching itself, axis.Date
with defaults that are less nice.
set.seed(007) # for reproducibility
Date1 <- as.Date("2013-09-25")+sort(sample(0:150, 30))
plot(Date1, cumsum(rnorm(30)), type="l", xaxt="n", ann=FALSE)
timeAxis(side=1)
timeAxis(1, npm=2, cex.axis=0.5, col.axis="red") # fix number of labels per month
DateYM <- as.Date("2013-04-25")+0:500
plot(DateYM, cumsum(rnorm(501)), type="l", xaxt="n", ann=FALSE)
monthAxis() # see more examples there - it largely replaces timeAxis!!!
plot(Date1, cumsum(rnorm(30)), type="l", xaxt="n", ann=FALSE)
timeAxis(labels=FALSE, col.ticks=2)
timeAxis(1, format=" ") # equivalent to axis(labels=FALSE)
timeAxis(1)
d <- timeAxis(1, labels=letters[1:24], mgp=c(3,2.5,0))
d # d covers the full year, thus is longer than n=5
Date2 <- as.Date("2011-07-13")+sort(sample(0:1400, 50))
plot(Date2, cumsum(rnorm(50)), type="l", xaxt="n", ann=FALSE)
timeAxis(npy=12, format=" ") # fix number of labels per year
timeAxis(tcl=-0.8, lwd.ticks=2, format="%Y/%m", mgp=c(3,1,0))
timeAxis(format="", mgp=c(3,2,0)) # International Date format YYYY-mm-dd
plot(Date2, cumsum(rnorm(50)), type="l", xaxt="n", ann=FALSE)
timeAxis(midyear=TRUE)
abline(v=monthLabs(npm=1), col=8)
Date3 <- as.Date("2011-07-13")+sort(sample(0:1200, 50))
plot(Date3, cumsum(rnorm(50)), type="l", xaxt="n", ann=FALSE)
timeAxis(1, n=4, font=2)
timeAxis(1, col.axis=3) # too many labels with default n=5
monthAxis(side=3) # again: use monthAxis, it is usually nicer!
# mid-year labels:
plot(Date3, cumsum(rnorm(50)), type="l", xaxt="n", ann=FALSE)
timeAxis(midyear=TRUE, midargs=list(tcl=-1.2))
# mid-month labels:
plot(Date1, cumsum(rnorm(30)), type="l", xaxt="n", ann=FALSE)
timeAxis(midmonth=TRUE)
# Time axis instead of date axis:
plot(as.POSIXct(Sys.time()+c(0,10)*24*3600), 1:2, xaxt="n")
timeAxis(n=3)
timeAxis()
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.