[R] Formatting names.arg

Marc Schwartz marc_schwartz at me.com
Mon May 23 22:32:39 CEST 2011


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

HTH,

Marc Schwartz



More information about the R-help mailing list