[R] Formatting names.arg
Marc Schwartz
marc_schwartz at me.com
Mon May 23 23:48:46 CEST 2011
On May 23, 2011, at 4:31 PM, David Winsemius wrote:
>
> On May 23, 2011, at 4:32 PM, Marc Schwartz wrote:
>
>> On May 23, 2011, at 3:13 PM, Adrienne Keller wrote:
>>
>>> I am making a barplot using barplot2 from gplots and would like to
>>> format the names of my categorical variables (tree species) on the x-
>>> axis so that the genus name is above the species name (to save room).
>>> My code so far is:
>>>
>>> speciesnames<-c("Dialium guianensis", "Inga alba", "Tachigali
>>> versicolor", "Brosimum utile", "Caryocar costaricense", "Castilla
>>> tunu", "Otoba novagranatensis", "Pourouma bicolor", "Socratea
>>> exorrhiza")
>>> barplot2(meanapAprilactivity, names.arg=speciesnames, col=columncolor,
>>> xlab="Species", ylab="Soil acid phosphatase activity (nmol/h/g)",
>>> plot.ci=T, ci.l=apAprilminusordered, ci.u=apAprilplusordered,
>>> cex.lab=1.5)
>>>
>>> For example, I want 'Dialium' to be located above 'guianensis' on the
>>> x-axis. Is there a way to do this?
>>>
>>> Thanks,
>>>
>>> Adrienne Keller
>>
>>
>> Hi,
>>
>> Just replace the space between the names with a newline character ('\n'):
>>
>> barplot(1:9, names.arg = gsub(" ", "\\\n", speciesnames),
>> cex.names = 0.5)
>>
>> That will put the labels on two lines.
>>
>> See ?gsub and note that I used 3 '\' preceding the 'n'.
>
> Except that tripling of "\" is not necessary with the second argument to gsub or sub, only with the first pattern argument.
>
> speciesnames<-c("Dialium guianensis", "Inga alba", "Tachigali versicolor", "Brosimum utile", "Caryocar costaricense", "Castilla tunu", "Otoba novagranatensis", "Pourouma bicolor", "Socratea exorrhiza")
>
> sub(" ", "\n", speciesnames)
>
> [1] "Dialium\nguianensis" "Inga\nalba"
> [3] "Tachigali\nversicolor" "Brosimum\nutile"
> [5] "Caryocar\ncostaricense" "Castilla\ntunu"
> [7] "Otoba\nnovagranatensis" "Pourouma\nbicolor"
> [9] "Socratea\nexorrhiza"
>
Thanks for catching that David, you are correct. That's what I get for answering the post in the middle of formatting R output for LaTeX and having tunnel vision on the backslashes...
:-)
Regards,
Marc
More information about the R-help
mailing list