matplotlib.pyplot.fill_betweenx#

matplotlib.pyplot.fill_betweenx(y, x1, x2=0, where=None, step=None, interpolate=False, *, data=None, **kwargs)[source]#

Fill the area between two vertical curves.

The curves are defined by the points (y, x1) and (y, x2). This creates one or multiple polygons describing the filled area.

You may exclude some vertical sections from filling using where.

By default, the edges connect the given points directly. Use step if the filling should be a step function, i.e. constant in between y.

Parameters:
yarray-like

The y coordinates of the nodes defining the curves.

x1array-like or float

The x coordinates of the nodes defining the first curve.

x2array-like or float, default: 0

The x coordinates of the nodes defining the second curve.

wherearray-like of bool, optional

Define where to exclude some vertical regions from being filled. The filled regions are defined by the coordinates y[where]. More precisely, fill between y[i] and y[i+1] if where[i] and where[i+1]. Note that this definition implies that an isolated True value between two False values in where will not result in filling. Both sides of the True position remain unfilled due to the adjacent False values.

interpolatebool, default: False

This option is only relevant if where is used and the two curves are crossing each other.

Semantically, where is often used for x1 > x2 or similar. By default, the nodes of the polygon defining the filled region will only be placed at the positions in the y array. Such a polygon cannot describe the above semantics close to the intersection. The y-sections containing the intersection are simply clipped.

Setting interpolate to True will calculate the actual intersection point and extend the filled region up to this point.