DataFrame.plot.
bar
Vertical bar plot.
A bar plot is a plot that presents categorical 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.
Allows plotting of one column versus another. If not specified, the index of the DataFrame is used.
Allows plotting of one column versus another. If not specified, all numerical columns are used.
The color for each of the DataFrame’s columns. Possible values are:
for instance ‘red’ or ‘#a98d19’.
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.
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.
Additional keyword arguments are documented in DataFrame.plot().
DataFrame.plot()
An ndarray is returned with one matplotlib.axes.Axes per column when subplots=True.
matplotlib.axes.Axes
subplots=True
See also
DataFrame.plot.barh
Horizontal bar plot.
DataFrame.plot
Make plots of a DataFrame.
matplotlib.pyplot.bar
Make a bar plot with matplotlib.
Examples
Basic plot.
>>> df = pd.DataFrame({'lab':['A', 'B', 'C'], 'val':[10, 30, 20]}) >>> ax = df.plot.bar(x='lab', y='val', rot=0)
Plot a whole dataframe to a bar plot. Each column is assigned a distinct color, and each row is nested in a group along the horizontal axis.
>>> 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.bar(rot=0)
Plot stacked bar charts for the DataFrame
>>> ax = df.plot.bar(stacked=True)
Instead of nesting, the figure can be split by column with subplots=True. In this case, a numpy.ndarray of matplotlib.axes.Axes are returned.
numpy.ndarray
>>> axes = df.plot.bar(rot=0, subplots=True) >>> axes[1].legend(loc=2)
If you don’t like the default colours, you can specify how you’d like each column to be colored.
>>> axes = df.plot.bar( ... rot=0, subplots=True, color={"speed": "red", "lifespan": "green"} ... ) >>> axes[1].legend(loc=2)
Plot a single column.
>>> ax = df.plot.bar(y='speed', rot=0)
Plot only selected categories for the DataFrame.
>>> ax = df.plot.bar(x='lifespan', rot=0)