pandas.Series.plot.barh

Series.plot.barh(x=None, y=None, **kwargs)[source]

Make a horizontal bar plot.

A horizontal bar plot is a plot that presents quantitative data with rectangular bars with lengths proportional to the values that they represent. A bar plot shows comparisons among discrete categories. One axis of the plot shows the specific categories being compared, and the other axis represents a measured value.

Parameters
x:label or position, optional

Allows plotting of one column versus another. If not specified, the index of the DataFrame is used.

y:label or position, optional

Allows plotting of one column versus another. If not specified, all numerical columns are used.

color:str, array-like, or dict, optional

The color for each of the DataFrame’s columns. Possible values are:

  • A single color string referred to by name, RGB or RGBA code,

    for instance ‘red’ or ‘#a98d19’.

  • A sequence of color strings referred to by name, RGB or RGBA

    code, which will be used for each column recursively. For instance [‘green’,’yellow’] each column’s bar will be filled in green or yellow, alternatively. If there is only a single column to be plotted, then only the first color from the color list will be used.

  • A dict of the form {column name:color}, so that each column will be

    colored accordingly. For example, if your columns are called a and b, then passing {‘a’: ‘green’, ‘b’: ‘red’} will color bars for column a in green and bars for column b in red.

New in version 1.1.0.

**kwargs

Additional keyword arguments are documented in DataFrame.plot().

Returns
matplotlib.axes.Axes or np.ndarray of them

An ndarray is returned with one matplotlib.axes.Axes per column when subplots=True.

See also

DataFrame.plot.bar

Vertical bar plot.

DataFrame.plot

Make plots of DataFrame using matplotlib.

matplotlib.axes.Axes.bar

Plot a vertical bar plot using matplotlib.

Examples

Basic example

>>> df = pd.DataFrame({'lab': ['A', 'B', 'C'], 'val': [10, 30, 20]})
>>> ax = df.plot.barh(x='lab', y='val')
../../_images/pandas-Series-plot-barh-1.png

Plot a whole DataFrame to a horizontal bar plot

>>> speed = [0.1, 17.5, 40, 48, 52, 69, 88]
>>> lifespan = [2, 8, 70, 1.5, 25, 12, 28]
>>> index = ['snail', 'pig', 'elephant',
...          'rabbit', 'giraffe', 'coyote', 'horse']
>>> df = pd.DataFrame({'speed': speed,
...                    'lifespan': lifespan}, index=index)
>>> ax = df.plot.barh()
../../_images/pandas-Series-plot-barh-2.png

Plot stacked barh charts for the DataFrame

>>> ax = df.plot.barh(stacked=True)
../../_images/pandas-Series-plot-barh-3.png

We can specify colors for each column

>>> ax = df.plot.barh(color={"speed": "red", "lifespan": "green"})
../../_images/pandas-Series-plot-barh-4.png

Plot a column of the DataFrame to a horizontal bar plot

>>> speed = [0.1, 17.5, 40, 48, 52, 69, 88]
>>> lifespan = [2, 8, 70, 1.5, 25, 12, 28]
>>> index = ['snail', 'pig', 'elephant',
...          'rabbit', 'giraffe', 'coyote', 'horse']
>>> df = pd.DataFrame({'speed': speed,
...                    'lifespan': lifespan}, index=index)
>>> ax = df.plot.barh(y='speed')
../../_images/pandas-Series-plot-barh-5.png

Plot DataFrame versus the desired column

>>> speed = [0.1, 17.5, 40, 48, 52, 69, 88]
>>> lifespan = [2, 8, 70, 1.5, 25, 12, 28]
>>> index = ['snail', 'pig', 'elephant',
...          'rabbit', 'giraffe', 'coyote', 'horse']
>>> df = pd.DataFrame({'speed': speed,
...                    'lifespan': lifespan}, index=index)
>>> ax = df.plot.barh(x='lifespan')
../../_images/pandas-Series-plot-barh-6.png

© 2008–2021, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/1.3.4/reference/api/pandas.Series.plot.barh.html