Change the spacing of tick marks on the axis of a plot?

plot, r

Solution

There are at least two ways for achieving this in base graph (my examples are for the x-axis, but work the same for the y-axis):

Use `par(xaxp = c(x1, x2, n))` or `plot(..., xaxp = c(x1, x2, n))` to define the position (`x1` & `x2`) of the extreme tick marks and the number of intervals between the tick marks (`n`). Accordingly, `n+1` is the number of tick marks drawn. (This works only if you use no logarithmic scale, for the behavior with logarithmic scales see `?par`.)

You can suppress the drawing of the axis altogether and add the tick marks later with `axis()`. To suppress the drawing of the axis use `plot(... , xaxt = "n")`. Then call `axis()` with `side`, `at`, and `labels`: `axis(side = 1, at = v1, labels = v2)`. With `side` referring to the side of the axis (1 = x-axis, 2 = y-axis), `v1` being a vector containing the position of the ticks (e.g., `c(1, 3, 5)` if your axis ranges from 0 to 6 and you want three marks), and `v2` a vector containing the labels for the specified tick marks (must be of same length as `v1`, e.g., `c("group a", "group b", "group c")`). See `?axis` and my updated answer to a post on stats.stackexchange for an example of this method.

Problem

How can I change the spacing of tick marks on the axis of a plot? What parameters should I use with base plot or with `rgl`?

Original source