Comment remplir les zones entre les lignes dans Matplotlib
Vous pouvez facilement remplir la zone entre les valeurs dans un tracé Matplotlib en utilisant les fonctions suivantes :
- fill_between() : Remplit la zone entre deux courbes horizontales.
- fill_betweenx() : Remplit la zone entre deux courbes verticales.
Ce didacticiel fournit des exemples d’utilisation pratique de chacune de ces fonctions.
Exemple 1 : remplir la zone entre deux lignes horizontales
Le code suivant montre comment remplir la zone située entre deux lignes horizontales :
import matplotlib.pyplot as plt import numpy as np #define x and y values x = np.arange(0,10,0.1) y = np.arange(10,20,0.1) #create plot of values plt.plot(x,y) #fill in area between the two lines plt.fill_between(x, y, color='red')
Notez que nous pouvons également utiliser la fonction plt.grid() pour ajouter un quadrillage au tracé afin de voir plus facilement les valeurs qui sont remplies :
import matplotlib.pyplot as plt import numpy as np #define x and y values x = np.arange(0,10,0.1) y = np.arange(10,20,0.1) #create plot of values plt.plot(x,y) #fill in area between the two lines plt.fill_between(x, y, color='red', alpha=.5) #add gridlines plt.grid()
Exemple 2 : remplir la zone sous une courbe
Le code suivant montre comment remplir la zone sous une courbe :
import matplotlib.pyplot as plt import numpy as np #define x and y values x = np.arange(0,10,0.1) y = x**4 #create plot of values plt.plot(x,y) #fill in area between the two lines plt.fill_between(x, y, color='red', alpha=.5)
Exemple 3 : remplir la zone au-dessus d’une courbe
Le code suivant montre comment remplir la zone au-dessus d’une courbe :
import matplotlib.pyplot as plt import numpy as np #define x and y values x = np.arange(0,10,0.1) y = x**4 #create plot of values plt.plot(x,y) #fill in area between the two lines plt.fill_between(x, y, np.max(y), color='red', alpha=.5)
Exemple 4 : Remplir la zone entre deux lignes verticales
Le code suivant montre comment utiliser la fonction fill_betweenx() pour remplir la zone entre deux lignes verticales :
import matplotlib.pyplot as plt import numpy as np #define x and y values x = np.arange(0,10,0.1) y = np.arange(10,20,0.1) #create plot of values plt.plot(x,y) #fill in area between the two lines plt.fill_betweenx(y, 2, 4, color='red', alpha=.5)