matplotlib.pyplot.bar_label#

matplotlib.pyplot.bar_label(container, labels=None, *, fmt='%g', label_type='edge', padding=0, **kwargs)[source]#

Label a bar plot.

Adds labels to bars in the given BarContainer. You may need to adjust the axis limits to fit the labels.

Parameters:
containerBarContainer

Container with all the bars and optionally errorbars, likely returned from bar or barh.

labelsarray-like, optional

A list of label texts, that should be displayed. If not given, the label texts will be the data values formatted with fmt.

fmtstr or callable, default: '%g'

An unnamed %-style or {}-style format string for the label or a function to call with the value as the first argument. When fmt is a string and can be interpreted in both formats, %-style takes precedence over {}-style.

New in version 3.7: Support for {}-style format string and callables.

label_type{'edge', 'center'}, default: 'edge'

The label type. Possible values:

  • 'edge': label placed at the end-point of the bar segment, and the value displayed will be the position of that end-point.

  • 'center': label placed in the center of the bar segment, and the value displayed will be the length of that segment. (useful for stacked bars, i.e., Bar Label Demo)

paddingfloat, default: 0

Distance of label from the end of the bar, in points.

**kwargs

Any remaining keyword arguments are passed through to Axes.annotate. The alignment parameters ( horizontalalignment / ha, verticalalignment / va) are not supported because the labels are automatically aligned to the bars.

Returns:
list of Text

A list of Text instances for the labels.