Skip to content

label option in 'barplot'?

3 messages · Justin Gengler, Gabor Grothendieck, Chuck Cleland

#
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:
#
Justin Gengler wrote:
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)