HOWTO · Matplotlib
Riempi tra più righe in Matplotlib
`fill_between()` riempie l'area tra due righe solo alla volta, ma possiamo selezionare una coppia di righe per riempire l'area tra più righe.
In questa pagina
Possiamo riempire un’area tra più righe in Matplotlib usando il metodo matplotlib.pyplot.fill_between(). La funzione fill_between() riempie lo spazio tra due righe alla volta, ma possiamo selezionare una coppia di righe per riempire l’area tra più righe.
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()
Produzione:
Nella figura, dobbiamo riempire il poligono in modo tale che le seguenti condizioni siano soddisfatte:
y <= 8- 4x
y <= 6 - x
y >= 2 - 2x
y >= 0
Riempi tra più righe in 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()
Produzione:
Per soddisfare la condizione data sopra, impostiamo il limite dell’asse y tra 0 e 10 in modo che y >= 0 come primo passo.
Poiché le linee y=6-x e y=8-4x si intersecano tra loro, assicurandoci che y <= 8- 4x e y <= 6 - x siano entrambe soddisfatte, usiamo il metodo minimum() per selezionare i punti che seguono le due condizioni.
Infine, riempiamo l’area tra y1 e y4 per fornire la regione del poligono specificata dal requisito.
In alternativa, possiamo trovare i punti di intersezione delle linee, che fungono da punti d’angolo delle aree. Una volta che conosciamo i punti d’angolo, possiamo riempire il poligono usando il metodo matplotlib.pyplot.fill().
import matplotlib.pyplot as plt
x = [2, 4, 2, 0]
y = [4, 2, 0, 2]
plt.fill(x, y)
plt.show()
Produzione:
Questo metodo riempie il poligono con punti d’angolo, (2,4), (4,2), (2,0) e (0,2).
La lista x rappresenta le coordinate x dei punti d’angolo del poligono, e la y rappresenta le coordinate y dei punti d’angolo del poligono.