Re: [R] Split graph labels in 2 levels

From: Marc Schwartz <MSchwartz_at_mn.rr.com>
Date: Fri 30 Dec 2005 - 01:12:36 EST

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



R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html Received on Fri Dec 30 01:18:09 2005

This archive was generated by hypermail 2.1.8 : Fri 03 Mar 2006 - 03:41:43 EST