Re: [R] Split graph labels in 2 levels

From: P Ehlers <ehlers_at_math.ucalgary.ca>
Date: Fri 30 Dec 2005 - 02:54:32 EST

Marc Schwartz wrote:

> 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.
>

Another way is to use the padj argument to axis:

   plot(rnorm(1000), xaxt = "n")
   axis(1, at = seq(0, 1000, 100), padj = c(0, 1))

Adjust padj to suit your needs; e.g. padj = c(1, -0.2)

Peter Ehlers

> 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



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 03:03:27 2005

This archive was generated by hypermail 2.1.8 : Fri 30 Dec 2005 - 04:39:59 EST