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 atx with the givenalignment. Theirdimensions are given byheight andwidth. The vertical baselineisbottom (default 0).

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

Parameters:
xfloat or array-like

The x coordinates of the bars. See alsoalign for thealignment of the bars to the coordinates.

Bars are often used for categorical data, i.e. string labels belowthe bars. You can provide a list of strings directly tox.bar(['A','B','C'],[1,2,3]) is often a shorter and moreconvenient notation compared tobar(range(3),[1,2,3],tick_label=['A','B','C']). They areequivalent as long as the names are unique. The explicittick_labelnotation draws the names in the sequence given. However, when havingduplicate values in categoricalx data, these values map to the samenumerical x coordinate, and hence the corresponding bars are drawn ontop of each other.

heightfloat or array-like

The height(s) of the bars.

Note that ifbottom has units (e.g. datetime),height should be inunits that are a difference from the value ofbottom (e.g. timedelta).

widthfloat or array-like, default: 0.8

The width(s) of the bars.

Note that ifx has units (e.g. datetime), thenwidth should be inunits that are a difference (e.g. timedelta) around thex values.

bottomfloat or array-like, default: 0

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

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

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

Alignment of the bars to thex coordinates:

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

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

To align the bars on the right edge pass a negativewidth andalign='edge'.

Returns:
BarContainer

Container with all the bars and optionally errorbars.

Other Parameters:
colorcolor or list ofcolor, optional

The colors of the bar faces. This is an alias forfacecolor.If both are given,facecolor takes precedence.

facecolorcolor or list ofcolor, optional

The colors of the bar faces.If bothcolor andfacecolor are given, *facecolor takes precedence.

edgecolorcolor or list ofcolor, 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 resultingBarContainer as alabel for the whole dataset.If a list is provided, it must be the same length asx andlabels the individual bars. Repeated labels are not de-duplicatedand will cause repeated label entries, so this is best used whenbars also differ in style (e.g., by passing a list tocolor.)

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

If notNone, 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 rowcontains the lower errors, the second row contains the uppererrors.

  • None: No errorbar. (Default)

SeeDifferent ways of specifying error bars for an example onthe usage ofxerr andyerr.

ecolorcolor or list ofcolor, 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 theerrorbar method. Values ofecolor orcapsize definedhere take precedence over the independent keyword arguments.

logbool, default: False

IfTrue, set the y-axis to be log scale.

dataindexable object, optional

If given, all parameters also accept a strings, which isinterpreted asdata[s] ifs is a key indata.

**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

float or None

angle

unknown

animated

bool

antialiased oraa

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 orec

color or None

facecolor orfc

color or None

figure

Figure orSubFigure

fill

bool

gid

str

hatch

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

hatch_linewidth

unknown

hatchcolor

color or 'edge' or None

height

unknown

in_layout

bool

joinstyle

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

label

object

linestyle orls

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

linewidth orlw

float or None

mouseover

bool

path_effects

list ofAbstractPathEffect

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 thepyplot wrapper foraxes.Axes.bar.

Stacked bars can be achieved by passing individualbottom values perbar. SeeStacked bar chart.

Examples usingmatplotlib.pyplot.bar#

Bar chart with individual bar colors

Bar chart with individual bar colors

Bar chart with labels

Bar chart with labels

Stacked bar chart

Stacked bar chart

Grouped bar chart with labels

Grouped bar chart with labels

Hat graph

Hat graph

Table Demo

Table Demo

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

Hatchcolor Demo

Hatchcolor Demo

Pyplot tutorial

Pyplot tutorial