Skip to content
Related Articles

Related Articles

How to Fill Between Multiple Lines in Matplotlib?

View Discussion
Improve Article
Save Article
  • Difficulty Level : Expert
  • Last Updated : 08 Oct, 2021
View Discussion
Improve Article
Save Article

With the use of the fill_between()  function in the Matplotlib library in Python, we can easily fill the color between any multiple lines or any two horizontal curves on a 2D plane.

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

Example 1: Color between the curve of the mathematical function f(x)=sin(x)

Python3




import pylab as plt
import numpy as np
 
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) = plt.subplots(
  3, 1, sharex=True, figsize=(6, 6))
 
ax1.fill_between(x, y1)
ax1.set_title('fill between y1 and 0')
 
ax2.fill_between(x, y1, 1)
ax2.set_title('fill between y1 and 1')
 
ax3.fill_between(x, y1, y2)
ax3.set_title('fill between y1 and y2')
ax3.set_xlabel('x')
fig.tight_layout()


Output:

 Example 2: Color between the curve of the mathematical function f(x)=cos(x) and f(x)=exp(x) :-

Python3




import pylab as plt
import numpy as np
 
X = np.linspace(0, 3, 200)
Y1 = X**2 + 3
Y2 = np.sin(X)
Y3 = np.cos(X)
 
plt.plot(X, Y1, lw=4)
plt.plot(X, Y2, lw=4)
plt.plot(X, Y3, lw=4)
 
plt.fill_between(X, Y1, Y2, color='k', alpha=.5)
plt.fill_between(X, Y1, Y3, color='y', alpha=.5)
 
plt.show()


Output:

Example 3: Color the Rhombus :-

Python3




import matplotlib.pyplot as plt
 
 
x = [1, 2, 1, 0]
y = [2, 1, 0, 1]
 
plt.fill(x, y)
plt.show()


Output:


My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!