Message-ID: <1135865556.4279.23.camel@localhost.localdomain>
Date: 2005-12-29T14:12:36Z
From: Marc Schwartz
Subject: Split graph labels in 2 levels
In-Reply-To: <43B3E96C.8010106@siol.net>
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