[R] Split graph labels in 2 levels
Marc Schwartz
MSchwartz at mn.rr.com
Thu Dec 29 15:12:36 CET 2005
On Thu, 2005-12-29 at 14:49 +0100, Andrej Kastrin wrote:
> Dear R users,
>
> is there any simple low-level function that split "single-line" graph
> labels and produce something like (e.g. for x axis):
>
> 100 300 500 700...
> 200 400 600
>
> Cheers, Andrej
You could do something like this:
# Draw some points
# Do not plot the x axis
plot(rnorm(1000), xaxt = "n")
# Now create the x axis labels, using "\n" for the odd values
# This puts the following even values one line below
x.lab <- paste(seq(0, 1000, 100), c("", "\n"), sep = "")
# Now do the axis, but tickmarks only
axis(1, at = seq(0, 1000, 100), labels = NA)
# Now do the labels
mtext(1, at = seq(0, 1000, 100), text = x.lab, line = 2)
See ?axis, ?paste and ?mtext for more information.
You might also want to look at R FAQ 7.27 on rotating axis labels,
depending upon your requirements.
HTH,
Marc Schwartz
More information about the R-help
mailing list