Introduction
Dans ce laboratoire, nous allons apprendre à changer les couleurs des lignes qui intersectent un rectangle en utilisant la fonction .intersects_bbox de Matplotlib. Nous allons créer un rectangle et générer des lignes aléatoires qui l'intersectent. Ensuite, nous changerons la couleur des lignes d'intersection en rouge et des lignes restantes en bleu.
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 Carnet de notes pour accéder au carnet Jupyter pour pratiquer.
Parfois, vous devrez peut-être attendre quelques secondes pour que le carnet Jupyter ait fini de charger. La validation des opérations ne peut pas être automatisée en raison des limitations du carnet Jupyter.
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
Nous allons importer les bibliothèques matplotlib.pyplot et numpy pour créer le rectangle et générer des lignes aléatoires.
import matplotlib.pyplot as plt
import numpy as np
Configurez le rectangle
Nous allons définir la position et les dimensions du rectangle en utilisant les variables left, bottom, width et height. Ensuite, nous créerons le rectangle à l'aide de la classe Rectangle et l'ajouterons à la figure à l'aide de la méthode add_patch.
left, bottom, width, height = (-1, -1, 2, 2)
rect = plt.Rectangle((left, bottom), width, height,
facecolor="black", alpha=0.1)
fig, ax = plt.subplots()
ax.add_patch(rect)
Générez des lignes aléatoires
Nous allons générer 12 lignes aléatoires à l'aide de la bibliothèque numpy et les tracer à l'aide de la méthode plot. Si une ligne intersecte le rectangle, sa couleur sera rouge, sinon bleue. Nous utiliserons la classe Path pour créer une ligne et la méthode intersects_bbox pour vérifier si elle intersecte le rectangle.
bbox = Bbox.from_bounds(left, bottom, width, height)
for i in range(12):
vertices = (np.random.random((2, 2)) - 0.5) * 6.0
path = Path(vertices)
if path.intersects_bbox(bbox):
color = 'r'
else:
color = 'b'
ax.plot(vertices[:, 0], vertices[:, 1], color=color)
Affichez la figure
Nous allons afficher la figure à l'aide de la méthode show.
plt.show()
Récapitulatif
Dans ce laboratoire, nous avons appris à changer les couleurs des lignes qui intersectent un rectangle à l'aide de la fonction .intersects_bbox de Matplotlib. Nous avons créé un rectangle et généré des lignes aléatoires qui l'intersectaient. Ensuite, nous avons changé la couleur des lignes d'intersection en rouge et des lignes restantes en bleu.