pandas.DataFrame.plot.barh

DataFrame.plot.barh(self, x=None, y=None, **kwds)[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, default DataFrame.index

Column to be used for categories.

y : label or position, default All numeric columns in dataframe

Columns to be plotted from the DataFrame.

**kwds

Keyword arguments to pass on to DataFrame.plot().

Returns:
matplotlib.axes.Axes or numpy.ndarray of them

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-DataFrame-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-DataFrame-plot-barh-2.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-DataFrame-plot-barh-3.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-DataFrame-plot-barh-4.png
Scroll To Top