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()

Rectangle dans matplotlib

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()

Rectangle personnalisé avec style dans Matplotlib

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))

Dessiner un rectangle sur imaginer dans matplotlib

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))

Rectangle pivoté sur une image dans Matplotlib

Connexe : Comment tracer des cercles dans Matplotlib (avec exemples)

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *