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 aty with the givenalignment. Theirdimensions are given bywidth andheight. The horizontal baselineisleft (default 0).

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

Parameters:
yfloat or array-like

The y 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 toy.barh(['A','B','C'],[1,2,3]) is often a shorter and moreconvenient notation compared tobarh(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 categoricaly data, these values map to the samenumerical y coordinate, and hence the corresponding bars are drawn ontop of each other.

widthfloat or array-like

The width(s) of the bars.

Note that ifleft has units (e.g. datetime),width should be inunits that are a difference from the value ofleft (e.g. timedelta).

heightfloat or array-like, default: 0.8

The heights of the bars.

Note that ify has units (e.g. datetime), thenheight should be inunits that are a difference (e.g. timedelta) around they values.

leftfloat or array-like, default: 0

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

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

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

Alignment of the base to they coordinates*:

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

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

To align the bars on the top edge pass a negativeheight 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.

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 asy 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 x-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

bar

Plot a vertical bar plot.

Notes

Note

This is thepyplot wrapper foraxes.Axes.barh.

Stacked bars can be achieved by passing individualleft values perbar. SeeDiscrete distribution as horizontal bar chart.

Examples usingmatplotlib.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