R: Compute Pretty Axis Tick Scales

axisTicks {grDevices} | R Documentation

## Compute Pretty Axis Tick Scales

### Description

Compute pretty axis scales and tick mark locations, the same way as traditional R graphics do it. This is interesting particularly for log scale axes.

### Usage

    axisTicks(usr, log, axp = NULL, nint = 5)
     .axisPars(usr, log = FALSE, nintLog = 5)

### Arguments

`usr` | numeric vector of length 2, with `c(min, max)` axis extents.
`log` | logical indicating if a log scale is (thought to be) in use.
`axp` | numeric vector of length 3, `c(mi, ma, n.)`, with identical meaning to `par("?axp")` (where `?` is `x` or `y`), namely “pretty” axis extents, and an integer code `n.`.
`nint, nintLog` | positive integer value indicating (approximately) the desired number of intervals. `nintLog` is used only for the case `log = TRUE`.

### Details

`axisTicks(usr, *)` calls `.axisPars(usr, ..)` when `axp` is missing (or `NULL`).

### Value

`axisTicks()` returns a numeric vector of potential axis tick locations, of length approximately `nint+1`.

`.axisPars()` returns a `list` with components

`axp` | numeric vector of length 2, `c(min., max.)`, of pretty axis extents.
`n` | integer (code), with the same meaning as `par("?axp")[3]`.

### See Also

`axTicks`; `axis`, and `par` (from the graphics package).

### Examples

    ##--- Demonstrating correspondence between graphics'
    ##--- axis() and the graphics-engine agnostic  axisTicks() :

    require("graphics")
    plot(10*(0:10)); (pu <- par("usr"))
    aX <- function(side, at, ...)
        axis(side, at = at, labels = FALSE, lwd.ticks = 2, col.ticks = 2,
             tck = 0.05, ...)
    aX(1, print(xa <- axisTicks(pu[1:2], log = FALSE)))  # x axis
    aX(2, print(ya <- axisTicks(pu[3:4], log = FALSE)))  # y axis

    axisTicks(pu[3:4], log = FALSE, n = 10)

    plot(10*(0:10), log = "y"); (pu <- par("usr"))
    aX(2, print(ya <- axisTicks(pu[3:4], log = TRUE)))  # y axis

    plot(2^(0:9), log = "y"); (pu <- par("usr"))
    aX(2, print(ya <- axisTicks(pu[3:4], log = TRUE)))  # y axis

[Package grDevices version 3.1.2 Index]