You are reading documentation for the unreleased version of Matplotlib. Try searching for the released version of this page instead?
Fork me on GitHub


This Page


Axes.stackplot(x, *args, data=None, **kwargs)

Draws a stacked area plot.

x : 1d array of dimension N

y : 2d array of dimension MxN, OR any number 1d arrays each of dimension

1xN. The data is assumed to be unstacked. Each of the following calls is legal:

stackplot(x, y)               # where y is MxN
stackplot(x, y1, y2, y3, y4)  # where y1, y2, y3, y4, are all 1xNm

Keyword arguments:

baseline : [‘zero’, ‘sym’, ‘wiggle’, ‘weighted_wiggle’]
Method used to calculate the baseline. ‘zero’ is just a simple stacked plot. ‘sym’ is 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

labels : A list or tuple of labels to assign to each data series.

colors : A list or tuple of colors. These will be cycled through and
used to colour the stacked areas. All other keyword arguments are passed to fill_between()

Returns r : A list of PolyCollection, one for each element in the stacked area plot.