[R] Wrap names.arg text in barplot

William Dunlap wdunlap at tibco.com
Fri Apr 27 21:00:35 CEST 2012


You can use strwrap  and paste to insert newlines into your labels.  E.g.,

> wrapped <- function(strings, width) vapply(strings, function(s)paste(collapse="\n", strwrap(s, width)), FUN.VALUE="", USE.NAMES=FALSE)
> par(mfrow=c(2,1))
> barplot(structure(11:15, names=wrapped(state.name[31:35], 6)))
> barplot(structure(11:15, names=state.name[31:35]))
> wrapped(state.name[31:35], 6)
[1] "New\nMexico"     "New\nYork"       "North\nCarolina" "North\nDakota"  
[5] "Ohio"           

strwrap, hence the above wrapped, uses units of characters, not cm.

Bill Dunlap
Spotfire, TIBCO Software
wdunlap tibco.com


> -----Original Message-----
> From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On Behalf
> Of Kyle.
> Sent: Friday, April 27, 2012 11:35 AM
> To: RHelp
> Subject: [R] Wrap names.arg text in barplot
> 
> Hello!
> 
> Does anyone know of a handy way to wrap the names.arg text in a barplot?
> I'm creating a bar plot with rather long labels; I can adjust the margins,
> but I'd also like to have the text wrap to about 4cm. Thanks!
> 
> 
> Kyle H. Ambert
> Doctoral Candidate, Bioinformatics
> Oregon Health & Science University
> ambertk at gmail.com
> 
> 	[[alternative HTML version deleted]]
> 
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.



More information about the R-help mailing list