You are reading documentation for the unreleased version of Matplotlib. Try searching for the released version of this page instead?
Version 2.0.0b1.post7580.dev0+ge487118
matplotlib
Fork me on GitHub

This Page

matplotlib.pyplot.fill_betweenx

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

Fill the area between two vertical curves.

The curves are defined by the points (x1, y) and (x2, y). 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:

y : array (length N)

The y coordinates of the nodes defining the curves.

x1 : array (length N) or scalar

The x coordinates of the nodes defining the first curve.

x2 : array (length N) or scalar, optional, default: 0

The x coordinates of the nodes defining the second curve.

where : array of bool (length N), optional, default: None

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.

interpolate : bool, optional

This option is only relvant 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 intersecion are simply clipped.

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

step : {‘pre’, ‘post’, ‘mid’}, optional

Define step if the filling should be a step function, i.e. constant in between y. The value determines where the step will occur:

  • ‘pre’: The y value is continued constantly below every y position.
  • ‘post’: The y value is continued constantly above every y position.
  • ‘mid’: Steps occur in the middle between the y positions.
Returns:

PolyCollection

A PolyCollection containing the plotted polygons.

Other Parameters:
 

**kwargs

All other keyword arguments are passed on to PolyCollection. They control the Polygon properties:

Property Description
agg_filter a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array
alpha float or None
animated bool
antialiased or antialiaseds Boolean or sequence of booleans
array ndarray
capstyle unknown
clim a length 2 sequence of floats
clip_box a Bbox instance
clip_on bool
clip_path [(Path, Transform) | Patch | None]
cmap a colormap or registered colormap name
color matplotlib color arg or sequence of rgba tuples
contains a callable function
edgecolor or edgecolors matplotlib color spec or sequence of specs
facecolor or facecolors matplotlib color spec or sequence of specs
figure a Figure instance
gid an id string
hatch [ ‘/’ | ‘' | ‘|’ | ‘-‘ | ‘+’ | ‘x’ | ‘o’ | ‘O’ | ‘.’ | ‘*’ ]
joinstyle unknown
label object
linestyle or dashes or linestyles [‘solid’ | ‘dashed’, ‘dashdot’, ‘dotted’ | (offset, on-off-dash-seq) | '-' | '--' | '-.' | ':' | 'None' | ' ' | '']
linewidth or linewidths or lw float or sequence of floats
norm Normalize
offset_position [ ‘screen’ | ‘data’ ]
offsets float or sequence of floats
path_effects AbstractPathEffect
picker [None | bool | float | callable]
pickradius float distance in points
rasterized bool or None
sketch_params (scale: float, length: float, randomness: float)
snap bool or None
transform Transform
url a url string
urls List[str] or None
visible bool
zorder float

See also

fill_between
Fill between two sets of y-values.

Notes

Note

In addition to the above described arguments, this function can take a data keyword argument. If such a data argument is given, the following arguments are replaced by data[<arg>]:

  • All arguments with the following names: ‘where’, ‘x1’, ‘x2’, ‘y’.