Hello all, When using the 'barplot' function, how would one go about creating labels on the top of the bars corresponding to the actual frequency values (i.e., the height of the bar). For histograms, one can use the 'LABEL=T' parameter to this effect, but it is not available for barplot. Must one manually create such labels for a barplot (perhaps using mtext)? Thanks. Justin Gengler
Try this where you probably only want one of the last two lines: # population of 5 US states pop <- state.x77[1:5,1] bp <- barplot(pop, ylim = range(pop) * c(0, 1.1)) text(bp, pop, pop, adj = c(0.5, -0.5)) # place num above bar mtext(1, at = bp, text = pop, line = 3) # place num below label On 1/17/07, Justin Gengler <jgengler at umich.edu> wrote:> Hello all, > > When using the 'barplot' function, how would one go about creating > labels on the top of the bars corresponding to the actual frequency > values (i.e., the height of the bar). For histograms, one can use > the 'LABEL=T' parameter to this effect, but it is not available for > barplot. Must one manually create such labels for a barplot (perhaps > using mtext)? > > Thanks. > > Justin Gengler > > ______________________________________________ > R-help at 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 > and provide commented, minimal, self-contained, reproducible code. >
Justin Gengler wrote:> Hello all, > > When using the 'barplot' function, how would one go about creating > labels on the top of the bars corresponding to the actual frequency > values (i.e., the height of the bar). For histograms, one can use > the 'LABEL=T' parameter to this effect, but it is not available for > barplot. Must one manually create such labels for a barplot (perhaps > using mtext)?Yes, I believe you would need to add those labels yourself. Use text() rather than mtext() to get something similar to what hist() does when labels=TRUE. Here is how you could put the labels either just below or just above the top of the bar: # Below X <- barplot(VADeaths, beside=TRUE, ylim=c(0,80)) text(X, VADeaths, labels=VADeaths, pos=1, offset=.5, col="red") # Above X <- barplot(VADeaths, beside=TRUE, ylim=c(0,80)) text(X, VADeaths, labels=VADeaths, pos=3, offset=.5)> Thanks. > > Justin Gengler > > ______________________________________________ > R-help at 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 > and provide commented, minimal, self-contained, reproducible code.-- Chuck Cleland, Ph.D. NDRI, Inc. 71 West 23rd Street, 8th floor New York, NY 10010 tel: (212) 845-4495 (Tu, Th) tel: (732) 512-0171 (M, W, F) fax: (917) 438-0894