Skip to content
Related Articles

Related Articles

Improve Article

How to Fill Between Multiple Lines in Matplotlib?

  • Difficulty Level : Expert
  • Last Updated : 08 Oct, 2021

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:

 Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.  

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning – Basic Level Course




My Personal Notes arrow_drop_up
Recommended Articles
Page :