Area plot in python using matplotlib


An area chart is really similar to a line chart, except that the area between the x axis and the line is filled in with color or shading. It represents the evolution of a numeric variable. This section starts by considering matplotlib and seaborn as tools to build area charts. It then shows a few other options for timeseries.

⏱ Quick start

There are 2 main ways to build an area chart with Matplotlib. In both case it requires 2 numeric vectors of values as input.

  • The fill_between() function
  • The stackplot() function that is more useful for stacked area charts

# library
import numpy as np
import matplotlib.pyplot as plt

# Create data
x=range(1,6)
y=[1,4,6,8,4]

# Area plot
plt.fill_between(x, y)
plot.show()

Area chart with Matplotlib

Matplotlib is a great fit to build an area chart thanks to its fill_between() function. Here are a few examples explaining its basics and how to apply some common customization.

Area chart with Seaborn

Seaborn is another great alternative to build an area chart with python. The below examples show how to start basic, apply usual customization, and use the small multiple technique for when you have several groups to compare.

From the web

The web is full of astonishing charts made by awesome bloggers, (often using R). The Python graph gallery tries to display (or translate from R) some of the best creations and explain how their source code works. If you want to display your work here, please drop me a word or even better, submit a Pull Request!

DataFrame.plot.area(x=None, y=None, **kwargs)[source]

Draw a stacked area plot.

An area plot displays quantitative data visually. This function wraps the matplotlib area function.

Parametersxlabel or position, optional

Coordinates for the X axis. By default uses the index.

ylabel or position, optional

Column to plot. By default uses all columns.

stackedbool, default True

Area plots are stacked by default. Set to False to create a unstacked plot.

**kwargs

Additional keyword arguments are documented in DataFrame.plot().

Returnsmatplotlib.axes.Axes or numpy.ndarray

Area plot, or array of area plots if subplots is True.

See also

DataFrame.plot

Make plots of DataFrame using matplotlib / pylab.

Examples

Draw an area plot based on basic business metrics:

>>> df = pd.DataFrame({
...     'sales': [3, 2, 3, 9, 10, 6],
...     'signups': [5, 5, 6, 12, 14, 13],
...     'visits': [20, 42, 28, 62, 81, 50],
... }, index=pd.date_range(start='2018/01/01', end='2018/07/01',
...                        freq='M'))
>>> ax = df.plot.area()

Area plot in python using matplotlib

Area plots are stacked by default. To produce an unstacked plot, pass stacked=False:

>>> ax = df.plot.area(stacked=False)

Area plot in python using matplotlib

Draw an area plot for a single column:

>>> ax = df.plot.area(y='sales')

Area plot in python using matplotlib

Draw with a different x:

>>> df = pd.DataFrame({
...     'sales': [3, 2, 3],
...     'visits': [20, 42, 28],
...     'day': [1, 2, 3],
... })
>>> ax = df.plot.area(x='day')

Area plot in python using matplotlib

How do I plot an area in MatPlotLib?

MatPlotLib with Python Set the figure size and adjust the padding between and around the subplots. Create a Pandas dataframe, i.e., a two-dimensional, size-mutable, potentially heterogeneous tabular data. Return the area between the graph plots. To display the figure, use show() method.

How do we plot area chart using pandas?

#import library..
import pandas as pd..
#add csv file to dataframe..
df = pd. read_csv('dataset.csv').
#create area plot..
areaplot = df. plot. area( figsize = (5,5), stacked= False).

What is the significance of area plot in Python?

An area plot displays quantitative data visually. This function wraps the matplotlib area function. Coordinates for the X axis. By default uses the index.