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?
rgl
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.)
par(xaxp = c(x1, x2, n))
plot(..., xaxp = c(x1, x2, n))
x1
x2
n
n+1
?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.
axis()
plot(... , xaxt = "n")
side
at
labels
axis(side = 1, at = v1, labels = v2)
v1
c(1, 3, 5)
v2
c("group a", "group b", "group c")
?axis
1.4m articles
1.4m replys
5 comments
56.9k users