How do you create a stacked bar chart from a dataframe in python?

DataFrame.plot.bar[x=None, y=None, **kwargs][source]#

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.

Parametersxlabel 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. 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 namecolor}, 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.

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.

>>> 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]

How do you plot a stacked bar plot in Python?

Matplotlib is a tremendous visualization library in Python for 2D plots of arrays. Matplotlib may be a multi-platform data visualization library built on NumPy arrays and designed to figure with the broader SciPy stack..
Import Library [Matplotlib].
Import / create data..
Plot the bars in the stack manner..

How do I create a stacked chart in Matplotlib?

To create a horizontal stacked bar chart in matplotlib we use the barh[] method and instead of the bottom argument we pass left as an argument to the method. The parameters used are described below: y: specify coordinates of the Y bars. width: specify the width of the bars.

How do you plot a bar from a DataFrame in Python?

#import library..
import pandas as pd..
#add csv file to dataframe..
df = pd. DataFrame[{'Subject': ['English', 'Maths', 'Science'], 'Mean': [90, 87, 67]}].
#create bar graph..
bargraph = df. plot. bar[x = 'Subject', y = 'Mean', fontsize='9'].

How do I create a stacked bar chart?

How to Create a Stacked Bar Chart in Excel?.
Select the data that you want to display in the form of a chart..
In the Insert tab, click Column Charts [in Charts section] and select “2-D stacked bar.”.
A chart appears, as shown in the following image..

Chủ Đề