axTicks {graphics}R Documentation

Compute Axis Tickmark Locations


Compute pretty tickmark locations, the same way as R does internally. This is only non-trivial when log coordinates are active. By default, gives the at values which axis(side) would use.


axTicks(side, axp = NULL, usr = NULL, log = NULL)


side integer in 1:4, as for axis.
axp numeric vector of length three, defaulting to par("Zaxp") where “Z” is “x” or “y” depending on the side argument.
usr numeric vector of length four, defaulting to par("usr") giving horizontal (‘x’) and vertical (‘y’) user coordinate limits.
log logical indicating if log coordinates are active; defaults to par("Zlog") where ‘Z’ is as for the axp argument above.


The axp, usr, and log arguments must be consistent as their default values (the par(..) results) are. If you specify all three (as non-NULL), the graphics environment is not used at all. Note that the meaning of axp alters very much when log is TRUE, see the documentation on par(xaxp=.).

axTicks() can be regarded as an R implementation of the C function CreateAtVector() in ‘..../src/main/plot.c’ which is called by axis(side,*) when no argument at is specified.


numeric vector of coordinate values at which axis tickmarks can be drawn. By default, when only the first argument is specified, these values should be identical to those that axis(side) would use or has used.

See Also

axis, par. pretty uses the same algorithm (but independently of the graphics environment) and has more options. However it is not available for log = TRUE.


 plot(1:7, 10*21:27)
 stopifnot(identical(axTicks(1), axTicks(3)),
           identical(axTicks(2), axTicks(4)))

## Show how axTicks() and axis() correspond :
op <- par(mfrow = c(3,1))
for(x in 9999*c(1,2,8)) {
    plot(x,9, log = "x")
    cat(formatC(par("xaxp"),wid=5),";",T <- axTicks(1),"\n")
    rug(T, col="red")

[Package graphics version 2.5.0 Index]