matplotlib.pyplot.stackplot#

matplotlib.pyplot.stackplot(x, *args, labels=(), colors=None, baseline='zero', data=None, **kwargs)[source]#

Draw a stacked area plot or a streamgraph.

Parameters:
x(N,) array-like
y(M, N) array-like

The data can be either stacked or unstacked. Each of the following calls is legal:

stackplot(x, y)  # where y has shape (M, N) e.g. y = [y1, y2, y3, y4]
stackplot(x, y1, y2, y3, y4)  # where y1, y2, y3, y4 have length N
baseline{'zero', 'sym', 'wiggle', 'weighted_wiggle'}

Method used to calculate the baseline:

  • 'zero': Constant zero baseline, i.e. a simple stacked plot.

  • 'sym': Symmetric around zero and is sometimes called 'ThemeRiver'.

  • 'wiggle': Minimizes the sum of the squared slopes.

  • 'weighted_wiggle': Does the same but weights to account for size of each layer. It is also called 'Streamgraph'-layout. More details can be found at http://leebyron.com/streamgraph/.

labelslist of str, optional

A sequence of labels to assign to each data series. If unspecified, then no labels will be applied to artists.

colorslist of color, optional

A sequence of colors to be cycled through and used to color the stacked areas. The sequence need not be exactly the same length as the number of provided y, in which case the colors will repeat from the beginning.

If not specified, the colors from the Axes property cycle will be used.

dataindexable object, optional

If given, all parameters also accept a string s, which is interpreted as data[s] if s is a key in data.

**kwargs
All other keyword arguments are passed to Axes.fill_between. The

following parameters additionally accept a sequence of values corresponding to the y datasets:

  • hatch

  • edgecolor

  • facecolor

  • linewidth

  • linestyle

Added in version 3.9: Allowing a sequence of strings for hatch.

Added in version 3.11: Allowing sequences of values in above listed Axes.fill_between parameters.

Returns:
list of PolyCollection

A list of PolyCollection instances, one for each element in the stacked area plot.

Notes

Note

This is the pyplot wrapper for axes.Axes.stackplot.