[R] Formatting names.arg
David Winsemius
dwinsemius at comcast.net
Mon May 23 23:31:47 CEST 2011
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"
--
David Winsemius, MD
West Hartford, CT
More information about the R-help
mailing list