Création d'un polygone avec Matplotlib

Beginner

This tutorial is from open-source community. Access the source code

Introduction

Matplotlib est une bibliothèque Python utilisée pour la visualisation de données. Dans ce laboratoire, nous allons utiliser Matplotlib pour créer un polygone de manière programmée ou interactive. Le polygone peut être utilisé pour souligner une région d'intérêt ou pour masquer une certaine zone d'un graphique.

Conseils sur la machine virtuelle

Une fois le démarrage de la machine virtuelle terminé, cliquez dans le coin supérieur gauche pour basculer vers l'onglet Notebook pour accéder à Jupyter Notebook pour la pratique.

Parfois, vous devrez peut-être attendre quelques secondes pour que Jupyter Notebook ait fini de charger. La validation des opérations ne peut pas être automatisée en raison des limitations de Jupyter Notebook.

Si vous rencontrez des problèmes pendant l'apprentissage, n'hésitez pas à demander à Labby. Donnez votre feedback après la session, et nous résoudrons rapidement le problème pour vous.

Importez les bibliothèques requises

Avant de commencer à travailler avec Matplotlib, nous devons importer les bibliothèques nécessaires. Nous utiliserons matplotlib.pyplot et matplotlib.widgets dans ce laboratoire.

import matplotlib.pyplot as plt
from matplotlib.widgets import PolygonSelector

Créer un polygone de manière programmée

Pour créer un polygone de manière programmée, nous devons créer un objet Figure et un objet Axes. Ensuite, nous pouvons créer un objet PolygonSelector et y ajouter des sommets. Enfin, nous pouvons tracer le polygone sur l'Axes.

fig, ax = plt.subplots()
selector = PolygonSelector(ax, lambda *args: None)

## Ajoutez trois sommets
selector.verts = [(0.1, 0.4), (0.5, 0.9), (0.3, 0.2)]

## Tracez le polygone
ax.add_patch(plt.Polygon(selector.verts, alpha=0.3))
plt.show()

Créer un polygone de manière interactive

Pour créer un polygone de manière interactive, nous devons créer un objet Figure et un objet Axes. Ensuite, nous pouvons créer un objet PolygonSelector et y ajouter des sommets en cliquant sur le graphique. Nous pouvons également utiliser les touches shift et ctrl pour déplacer les sommets.

fig, ax = plt.subplots()
selector = PolygonSelector(ax, lambda *args: None)

print("Cliquez sur la figure pour créer un polygone.")
print("Appuyez sur la touche 'échappement' pour commencer un nouveau polygone.")
print("Essayez de maintenir la touche 'Maj' pour déplacer tous les sommets.")
print("Essayez de maintenir la touche 'Ctrl' pour déplacer un seul sommet.")

plt.show()

Mettre tout ça ensemble

Créons un exemple complet qui inclut à la fois la création d'un polygone de manière programmée et interactive.

import matplotlib.pyplot as plt
from matplotlib.widgets import PolygonSelector

## Créez une figure et des axes
fig, (ax1, ax2) = plt.subplots(ncols=2, figsize=(10, 5))

## Créez un objet PolygonSelector et ajoutez des sommets
selector1 = PolygonSelector(ax1, lambda *args: None)
selector1.verts = [(0.1, 0.4), (0.5, 0.9), (0.3, 0.2)]

## Tracez le polygone
ax1.add_patch(plt.Polygon(selector1.verts, alpha=0.3))

## Créez un autre objet PolygonSelector pour la création interactive
selector2 = PolygonSelector(ax2, lambda *args: None)

print("Cliquez sur la figure pour créer un polygone.")
print("Appuyez sur la touche 'échappement' pour commencer un nouveau polygone.")
print("Essayez de maintenir la touche 'Maj' pour déplacer tous les sommets.")
print("Essayez de maintenir la touche 'Ctrl' pour déplacer un seul sommet.")

plt.show()

Récapitulatif

Dans ce laboratoire, nous avons appris à créer un polygone de manière programmée et interactive à l'aide de Matplotlib. Nous avons également appris à ajouter des sommets à un objet PolygonSelector et à tracer le polygone résultant sur un Axes. Cette connaissance peut être utile pour souligner des régions d'intérêt ou pour masquer certaines zones dans un graphique.