Comment remplir entre plusieurs lignes dans Matplotlib
Nous pouvons remplir une zone entre plusieurs lignes dans Matplotlib en utilisant la méthode matplotlib.pyplot.fill_between()
. La fonction fill_between()
remplit l’espace entre deux lignes à la fois, mais nous pouvons sélectionner une paire de lignes pour remplir la zone entre plusieurs lignes.
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0, 5, 0.02)
y1 = 8 - 4 * x
y2 = 6 - x
y3 = 2 - 2 * x
plt.plot(x, y1, color="red", label="8-4x")
plt.plot(x, y2, color="blue", label="6-x")
plt.plot(x, y3, color="green", label="2-2x")
plt.legend()
plt.show()
Production:
Dans la figure, nous devons remplir le polygone de telle sorte que les conditions suivantes soient remplies :
y <= 8- 4x
y <= 6 - x
y >= 2 - 2x
y >= 0
Remplir entre plusieurs lignes dans Matplotlib
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0, 5, 0.02)
y1 = 2 - 2 * x
y2 = 6 - x
y3 = 8 - 4 * x
y4 = np.minimum(y2, y3)
plt.plot(x, y1, color="red", label="2-2x")
plt.plot(x, y2, color="blue", label="6-x")
plt.plot(x, y3, color="green", label="8-4x")
plt.ylim(0, 10)
plt.fill_between(x, y1, y4, color="yellow")
plt.legend()
plt.show()
Production:
Pour satisfaire à la condition donnée ci-dessus, nous avons fixé la limite de l’axe des y entre 0 et 10 de sorte que y >= 0
comme première étape.
Comme les lignes y=6-x
et y=8-4x
se croisent, en s’assurant que y <= 8- 4x
et y <= 6 - x
sont toutes deux satisfaites, nous utilisons la méthode minimum()
pour sélectionner les points qui suivent les deux conditions.
Enfin, nous remplissons la zone entre y1
et y4
pour fournir la région du polygone spécifiée par la condition.
Alternativement, nous pouvons trouver les points d’intersection des lignes, qui agissent comme les points d’angle des zones. Une fois que nous connaissons les points d’angle, nous pouvons remplir le polygone en utilisant la méthode matplotlib.pyplot.fill()
.
import matplotlib.pyplot as plt
x = [2, 4, 2, 0]
y = [4, 2, 0, 2]
plt.fill(x, y)
plt.show()
Production:
Cette méthode remplit le polygone avec des points d’angle, (2,4)
, (4,2)
, (2,0)
et (0,2)
.
La liste x
représente les coordonnées x des points d’angle du polygone, et le y
représente les coordonnées y des points d’angle du polygone.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn