R: Add the Value Labels to a Barplot

BarText {DescTools} | R Documentation

## Add the Value Labels to a Barplot

### Description

Place text either in the middle of the stacked bars of a barplot or on top of a side by side barplot.

### Usage

    BarText(height, b, labels = height, beside = FALSE, horiz = FALSE,
            cex = par("cex"), adj = NULL, top = TRUE, ...)

### Arguments

`height` | either a vector or matrix of values describing the bars which make up the plot exactly as used for creating the barplot.
`b` | the returned mid points as returned by `b <- barplot(...)`.
`labels` | the labels to be placed on the bars.
`beside` | a logical value. If FALSE, the columns of height are portrayed as stacked bars, and if TRUE the columns are portrayed as juxtaposed bars.
`horiz` | a logical value. If FALSE, the bars are drawn vertically with the first bar to the left. If TRUE, the bars are drawn horizontally with the first at the bottom.
`cex` | numeric character expansion factor; multiplied by `par``("cex")` yields the final character size. `NULL` and `NA` are equivalent to `1.0`.
`adj` | one or two values in [0, 1] which specify the x (and optionally y) adjustment of the labels. On most devices values outside that interval will also work.
`top` | logical, defining if the labels should be placed on top of the bars (id beside is set to `TRUE`). Will be ignored if `beside` is `FALSE`.
`...` | the dots are passed to the `text`.

### Details

It sometimes makes sense to place the data values directly on the bars. The x coordinates of the labels can be found by using `barplot()` result, if they are to be centered at the top of each bar. `BarText()` calculates the rest. Notice that when the labels are placed on top of the bars, they may be clipped. This can be avoided by setting `xpd=TRUE`.

### Author(s)

Andri Signorell <andri@signorell.net>

### See Also

`help`

### Examples

    # simple vector
    x <- c(453, 44, 56, 34)
    b <- barplot(x)
    BarText(x, b, x)

    # more complicated
    b <- barplot(VADeaths, horiz = FALSE, col=hblue, beside = TRUE)
    BarText(VADeaths, b=b, horiz = FALSE, beside = TRUE, cex=0.8)
    BarText(VADeaths, b=b, horiz = FALSE, beside = TRUE, cex=0.8, top=FALSE,
            col="white", font=2)

    b <- barplot(VADeaths, horiz = TRUE, col=hblue, beside = TRUE)
    BarText(VADeaths, b=b, horiz = TRUE, beside = TRUE, cex=0.8)

    b <- barplot(VADeaths)
    BarText(VADeaths, b=b)

    b <- barplot(VADeaths, horiz = TRUE)
    BarText(VADeaths, b=b, horiz = TRUE, col="red", cex=1.5)

[Package DescTools version 0.99.32 Index]