- API reference
- DataFrame
- pandas.DataF...
pandas.DataFrame.plot.bar#
- DataFrame.plot.bar(x=None,y=None,**kwargs)[source]#
Vertical bar plot.
A bar plot is a plot that presents categorical data withrectangular bars with lengths proportional to the values that theyrepresent. A bar plot shows comparisons among discrete categories. Oneaxis of the plot shows the specific categories being compared, and theother 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:
- 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. Forinstance [‘green’,’yellow’] each column’s bar will be filled ingreen or yellow, alternatively. If there is only a single column tobe plotted, then only the first color from the color list will beused.
- A dict of the form {column namecolor}, so that each column will be
colored accordingly. For example, if your columns are calleda andb, then passing {‘a’: ‘green’, ‘b’: ‘red’} will color bars forcolumna in green and bars for columnb in red.
- **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 whensubplots=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 adistinct color, and each row is nested in a group along thehorizontal 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, anumpy.ndarray
ofmatplotlib.axes.Axes
are returned.>>>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’dlike 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)