pandas.DataFrame.plot.barh — pandas 2.2.3 documentation (original) (raw)

DataFrame.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:

xlabel or position, optional

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

ylabel or position, optional

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

colorstr, array-like, or dict, optional

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

**kwargs

Additional keyword arguments are documented inDataFrame.plot().

Returns:

matplotlib.axes.Axes or np.ndarray of them

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

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 stacked barh charts for the DataFrame

ax = df.plot.barh(stacked=True)

../../_images/pandas-DataFrame-plot-barh-3.png

We can specify colors for each column

ax = df.plot.barh(color={"speed": "red", "lifespan": "green"})

../../_images/pandas-DataFrame-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-DataFrame-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-DataFrame-plot-barh-6.png