Comment dessiner des rectangles dans Matplotlib (avec exemples)
Pour dessiner un rectangle dans Matplotlib, vous pouvez utiliser la fonction matplotlib.patches.Rectangle , qui utilise la syntaxe suivante :
matplotlib.patches.Rectangle(xy, largeur, hauteur, angle=0.0)
où:
- xy : Les coordonnées (x, y) du point d’ancrage du rectangle
- largeur : largeur du rectangle
- hauteur : hauteur du rectangle
- angle : Rotation en degrés dans le sens inverse des aiguilles d’une montre autour de xy (la valeur par défaut est 0)
Ce tutoriel fournit plusieurs exemples d’utilisation pratique de cette fonction.
Exemple 1 : dessiner un rectangle sur un tracé
Le code suivant montre comment dessiner un rectangle sur un tracé Matplotlib avec une largeur de 2 et une hauteur de 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)) #display plot plt.show()
Exemple 2 : styliser un rectangle
Le code suivant montre comment appliquer un style au rectangle :
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)) #display plot plt.show()
Vous pouvez trouver une liste complète des propriétés de style que vous pouvez appliquer à un rectangle ici .
Exemple 3 : dessiner un rectangle sur une image
Le code suivant montre comment dessiner un rectangle sur une image dans Matplotilb. Notez que l’image utilisée dans cet exemple provient de ce tutoriel Matplotlib .
Pour reproduire cet exemple, téléchargez simplement la photo de la punaise à partir de ce didacticiel et enregistrez-la sur votre propre ordinateur.
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))
Notez que nous pouvons utiliser l’argument angle pour faire pivoter le rectangle d’un certain nombre de degrés dans le sens inverse des aiguilles d’une montre :
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))
Connexe : Comment tracer des cercles dans Matplotlib (avec exemples)