matplotlib.pyplot.barh#

matplotlib.pyplot.barh(y, width, height=0.8, left=None, *, align='center', data=None, **kwargs)[source]#

Make a horizontal bar plot.

The bars are positioned at y with the given alignment. Their dimensions are given by width and height. The horizontal baseline is left (default 0).

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

Parameters:
yfloat or array-like

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

widthfloat or array-like

The width(s) of the bars.

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

heightfloat or array-like, default: 0.8

The heights of the bars.

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

leftfloat or array-like, default: 0

The x coordinates of the left side(s) of the bars.

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

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

Alignment of the base to the y coordinates*:

  • 'center': Center the bars on the y positions.

  • 'edge': Align the bottom edges of the bars with the y positions.

To align the bars on the top edge pass a negative height 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 y 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 x-axis to be log scale.

dataindexable object, optional

If given, all parameters also accept a string s, which is interpreted as data[s] if s is a key in data.

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

fill

bool

gid

str

hatch

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

hatch_linewidth

unknown

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

bar

Plot a vertical bar plot.

Notes

Note

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

Stacked bars can be achieved by passing individual left values per bar. See Discrete distribution as horizontal bar chart.

Examples using matplotlib.pyplot.barh#

Bar chart with labels

Bar chart with labels

Discrete distribution as horizontal bar chart

Discrete distribution as horizontal bar chart

Multiple histograms side by side

Multiple histograms side by side