Open In App

Matplotlib.axes.Axes.fill_between() in Python

Last Updated : 13 Apr, 2020
Improve
Improve
Like Article
Like
Save
Share
Report

Matplotlib is a library in Python and it is numerical – mathematical extension for NumPy library.

The Axes Class contains most of the figure elements: Axis, Tick, Line2D, Text, Polygon, etc., and sets the coordinate system. And the instances of Axes supports callbacks through a callbacks attribute.

matplotlib.axes.Axes.fill_between() Function

The Axes.fill_between() function in axes module of matplotlib library is used to fill the area between two horizontal curves.

Syntax: Axes.fill_between(self, x, y1, y2=0, where=None, interpolate=False, step=None, *, data=None, **kwargs)

Parameters: This method accept the following parameters that are described below:

  • x: This parameter contains the horizontal coordinates of the data points which are used to define the curves.
  • y1: This parameter contains the y coordinates of the data points which are used to define the first curves
  • y2: This parameter contains the y coordinates of the data points which are used to define the second curves. It is an optional with default value of 0.
  • where: This parameter is an optional parameter. And it is used to exclude some horizontal regions from being filled.
  • interpolate: This parameter is also an optional parameter. And it is the linewidth of the errorbar lines with default value NONE.
  • step: This parameter is also an optional parameter. And it is used to define if the filling should be a step function or not.

Returns: This returns a PolyCollection containing the plotted polygons.

Below examples illustrate the matplotlib.axes.Axes.fill_between() function in matplotlib.axes:

Example-1:




# Implementation of matplotlib function
      
import numpy as np
import matplotlib.pyplot as plt
  
x = np.arange(-5, 5, 0.01)
y1 = -3 * x*x + 10 * x + 10
y2 = 3 * x*x + x
  
fig, ax = plt.subplots()
ax.plot(x, y1, x, y2, color ='black')
ax.fill_between(x, y1, y2, where = y2 >y1, 
                facecolor ='green', alpha = 0.8)
  
ax.fill_between(x, y1, y2, where = y2 <= y1,
                facecolor ='black', alpha = 0.8)
  
ax.set_title('matplotlib.axes.Axes.fill_between Example1')
plt.show()


Output:

Example-2:




# Implementation of matplotlib function
      
import numpy as np
import matplotlib.pyplot as plt
  
x = np.arange(0.0, 2, 0.01)
y1 = np.sin(2 * np.pi * x)
y2 = 0.8 * np.sin(4 * np.pi * x)
  
fig, (ax1, ax2, ax3, ax4) = plt.subplots(4, 1,
                                         sharex = True,
                                         figsize =(6, 6))
  
ax1.fill_between(x, y1, facecolor ='green')
ax1.set_title('Fill_Between y1 and 0')
  
ax2.fill_between(x, y1, 1, facecolor ='green')
ax2.set_title('Fill_Between y1 and 1')
  
ax3.fill_between(x, y1, y2, facecolor ='green')
ax3.set_title('Fill_Between y1 and y2')
ax3.set_xlabel('x')
fig.tight_layout()
  
ax4.fill_between(x, y1, y2, where = y2 <= y1,
                 facecolor ='green')
  
ax4.set_title('Fill_Between y1 and y2 with condition y2 <= y1 ' )
ax4.set_xlabel('x')
fig.tight_layout()
  
plt.show()


Output:



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads