Come disegnare rettangoli in matplotlib (con esempi)
Per disegnare un rettangolo in Matplotlib, puoi utilizzare la funzione matplotlib.patches.Rectangle , che utilizza la seguente sintassi:
matplotlib.patches.Rectangle(xy, larghezza, altezza, angolo=0.0)
Oro:
- xy: le coordinate (x, y) del punto di ancoraggio del rettangolo
- larghezza: larghezza del rettangolo
- altezza: altezza del rettangolo
- angolo: rotazione in gradi in senso antiorario attorno a xy (il valore predefinito è 0)
Questo tutorial fornisce diversi esempi di utilizzo pratico di questa funzione.
Esempio 1: disegna un rettangolo su un tracciato
Il codice seguente mostra come disegnare un rettangolo su un grafico Matplotlib con una larghezza pari a 2 e un’altezza pari a 6:
import matplotlib. pyplot as plt from matplotlib. patches import Rectangle #define Matplotlib figure and axis fig, ax = plt. subplots () #create simple line plot ax. plot ([0, 10],[0, 10]) #add rectangle to plot ax. add_patch (Rectangle((1, 1), 2, 6)) #displayplot plt. show ()
Esempio 2: stilizzare un rettangolo
Il codice seguente mostra come modellare il rettangolo:
import matplotlib. pyplot as plt from matplotlib. patches import Rectangle #define Matplotlib figure and axis fig, ax = plt. subplots () #create simple line plot ax. plot ([0, 10],[0, 10]) #add rectangle to plot ax. add_patch (Rectangle((1, 1), 2, 6, edgecolor = ' pink ', facecolor = ' blue ', fill= True , lw= 5 )) #displayplot plt. show ()
Puoi trovare un elenco completo delle proprietà di stile che puoi applicare a un rettangolo qui .
Esempio 3: disegna un rettangolo su un’immagine
Il codice seguente mostra come disegnare un rettangolo su un’immagine in Matplotilb. Tieni presente che l’immagine utilizzata in questo esempio proviene da questo tutorial su Matplotlib .
Per riprodurre questo esempio, scarica semplicemente la foto della puntina da disegno da questo tutorial e salvala sul tuo computer.
import matplotlib. pyplot as plt from matplotlib. patches import Rectangle from PIL import Image #display the image plt. imshow ( Image.open (' stinkbug.png ')) #add rectangle plt. gca (). add_patch (Rectangle((50,100),40,80, edgecolor=' red ', facecolor=' none ', lw= 4 ))
Nota che possiamo usare l’argomento angolo per ruotare il rettangolo di un certo numero di gradi in senso antiorario:
import matplotlib. pyplot as plt from matplotlib. patches import Rectangle from PIL import Image #display the image plt. imshow ( Image.open (' stinkbug.png ')) #add rectangle plt. gca (). add_patch (Rectangle((50,100),40,80, angle= 30 , edgecolor=' red ', facecolor=' none ', lw= 4 ))