Introduction
Dans ce laboratoire, vous allez apprendre à tracer une ellipse avec une flèche d'orientation à l'aide de Matplotlib. Les ellipses sont un type de forme couramment utilisée dans la visualisation de données pour représenter des données. En ajoutant une flèche d'orientation à une ellipse, vous pouvez fournir des informations supplémentaires sur la direction des données.
Conseils sur la machine virtuelle
Une fois le démarrage de la machine virtuelle terminé, cliquez sur le coin supérieur gauche pour basculer vers l'onglet Carnet de notes 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.
Import Matplotlib et créer une figure et un axe
Tout d'abord, vous devez importer Matplotlib et créer une figure et un axe. La figure et l'axe sont les conteneurs de votre tracé.
import matplotlib.pyplot as plt
## Crée une figure et un axe
fig, ax = plt.subplots(subplot_kw={"aspect": "equal"})
Créer une ellipse
Ensuite, vous devez créer une ellipse à l'aide de la classe Ellipse. Vous pouvez spécifier le centre de l'ellipse, la largeur et la hauteur de l'ellipse, et l'angle de rotation.
from matplotlib.patches import Ellipse
ellipse = Ellipse(
xy=(2, 4),
width=30,
height=20,
angle=35,
facecolor="none",
edgecolor="b"
)
ax.add_patch(ellipse)
Ajouter une flèche d'orientation
Vous pouvez ajouter une flèche d'orientation à l'ellipse en traçant un marqueur au point terminal de l'axe mineur. Vous pouvez utiliser la méthode get_co_vertices() pour obtenir les coordonnées des sommets de l'ellipse. Ensuite, vous pouvez utiliser la classe Affine2D() pour faire tourner le marqueur pour qu'il corresponde à l'angle de l'ellipse.
from matplotlib.markers import MarkerStyle
from matplotlib.transforms import Affine2D
## Trace un marqueur flèche au point terminal de l'axe mineur
vertices = ellipse.get_co_vertices()
t = Affine2D().rotate_deg(ellipse.angle)
ax.plot(
vertices[0][0],
vertices[0][1],
color="b",
marker=MarkerStyle(">", "full", t),
markersize=10
)
Inverser la flèche d'orientation
Si vous voulez inverser la flèche d'orientation, vous pouvez changer le type de marqueur de > à <.
## Pour inverser la flèche d'orientation, changez le type de marqueur de > à <.
ax.plot(
vertices[0][0],
vertices[0][1],
color="b",
marker=MarkerStyle("<", "full", t),
markersize=10
)
Afficher le tracé
Enfin, vous pouvez afficher le tracé à l'aide de la méthode show().
plt.show()
Sommaire
Félicitations ! Vous avez appris à tracer une ellipse avec une flèche d'orientation à l'aide de Matplotlib. Cette technique peut être utile pour visualiser des données qui ont une direction.