matplotlib.pyplot.bar#

matplotlib.pyplot.bar(x, height, width=0.8, bottom=None, *, align='center', data=None, **kwargs)[source]#

Make a bar plot.

The bars are positioned at x with the given alignment. Their dimensions are given by height and width. The vertical baseline is bottom (default 0).

Many parameters can take either a single value applying to all bars or a sequence of values, one for each bar.

Parameters:
xfloat or array-like

The x coordinates of the bars. See also align for the alignment of the bars to the coordinates.

heightfloat or array-like

The height(s) of the bars.

Note that if bottom has units (e.g. datetime), height should be in units that are a difference from the value of bottom (e.g. timedelta).

widthfloat or array-like, default: 0.8

The width(s) of the bars.

Note that if x has units (e.g. datetime), then width should be in units that are a difference (e.g. timedelta) around the x values.

bottomfloat or array-like, default: 0

The y coordinate(s) of the bottom side(s) of the bars.

Note that if bottom has units, then the y-axis will get a Locator and Formatter appropriate for the units (e.g. dates, or categorical).

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

Alignment of the bars to the x coordinates:

  • 'center': Center the base on the x positions.

  • 'edge': Align the left edges of the bars with the x positions.

To align the bars on the right edge pass a negative width and align='edge'.

Returns:
BarContainer

Container with all the bars and optionally errorbars.

Other Parameters:
colorcolor or list of color, optional

The colors of the bar faces.

edgecolorcolor or list of color, optional

The colors of the bar edges.

linewidthfloat or array-like, optional

Width of the bar edge(s). If 0, don't draw edges.

tick_labelstr or list of str, optional

The tick labels of the bars. Default: None (Use default numeric labels.)

labelstr or list of str, optional

A single label is attached to the resulting BarContainer as a label for the whole dataset. If a list is provided, it must be the same length as x and labels the individual bars. Repeated labels are not de-duplicated and will cause repeated label entries, so this is best used when bars also differ in style (e.g., by passing a list to color.)

xerr, yerrfloat or array-like of shape(N,) or shape(2, N), optional

If not None, add horizontal / vertical errorbars to the bar tips. The values are +/- sizes relative to the data:

  • scalar: symmetric +/- values for all bars

  • shape(N,): symmetric +/- values for each bar

  • shape(2, N): Separate - and + values for each bar. First row contains the lower errors, the second row contains the upper errors.

  • None: No errorbar. (Default)

See Different ways of specifying error bars for an example on the usage of xerr and yerr.

ecolorcolor or list of color, default: 'black'

The line color of the errorbars.

capsizefloat, default: rcParams["errorbar.capsize"] (default: 0.0)

The length of the error bar caps in points.

error_kwdict, optional

Dictionary of keyword arguments to be passed to the errorbar method. Values of ecolor or capsize defined here take precedence over the independent keyword arguments.

logbool, default: False

If True, set the y-axis to be log scale.

dataindexable object, optional

If given, all parameters also accept a string s, which is interpreted as data[s] (unless this raises an exception).

**kwargsRectangle properties

Property

Description

agg_filter

a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array and two offsets from the bottom left corner of the image

alpha

scalar or None

angle

unknown

animated

bool

antialiased or aa

bool or None

bounds

(left, bottom, width, height)

capstyle

CapStyle or {'butt', 'projecting', 'round'}

clip_box

BboxBase or None

clip_on

bool

clip_path

Patch or (Path, Transform) or None

color

color

edgecolor or ec

color or None

facecolor or fc

color or None

figure

Figure

fill

bool

gid

str

hatch

{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}

height

unknown

in_layout

bool

joinstyle

JoinStyle or {'miter', 'round', 'bevel'}

label

object

linestyle or ls

{'-', '--', '-.', ':', '', (offset, on-off-seq), ...}

linewidth or lw

float or None

mouseover

bool

path_effects

list of AbstractPathEffect

picker

None or bool or float or callable

rasterized

bool

sketch_params

(scale: float, length: float, randomness: float)

snap

bool or None

transform

Transform

url

str

visible

bool

width

unknown

x

unknown

xy

(float, float)

y

unknown

zorder

float

See also

barh

Plot a horizontal bar plot.

Notes

Note

This is the pyplot wrapper for axes.Axes.bar.

Stacked bars can be achieved by passing individual bottom values per bar. See Stacked bar chart.

Examples using matplotlib.pyplot.bar#

Bar color demo

Bar color demo

Bar Label Demo

Bar Label Demo

Stacked bar chart

Stacked bar chart

Grouped bar chart with labels

Grouped bar chart with labels

Hat graph

Hat graph

Percentiles as horizontal bar chart

Percentiles as horizontal bar chart

Bar of pie

Bar of pie

Nested pie charts

Nested pie charts

Bar chart on polar axis

Bar chart on polar axis

Hatch demo

Hatch demo

Table Demo

Table Demo

Pyplot tutorial

Pyplot tutorial