Visualisation avec Connection Patch de Matplotlib

Beginner

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

Introduction

Matplotlib est une puissante bibliothèque de visualisation de données en Python. Elle fournit une variété d'outils de visualisation pour créer des graphiques et des tableaux impressionnants. Dans ce laboratoire, nous allons découvrir ConnectionPatch, qui est utilisé pour tracer une ligne entre des points définis dans différents systèmes de coordonnées et/ou axes.

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 au carnet Jupyter pour la pratique.

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 limites 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 nécessaires

Avant de commencer, importons les bibliothèques nécessaires.

import matplotlib.pyplot as plt
from matplotlib.patches import ConnectionPatch

Créez le tracé

Ensuite, créons le tracé avec deux sous-graphiques.

fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(6, 3))

Tracez une flèche simple

Maintenant, traçons une flèche simple entre deux points dans les coordonnées d'un axe, à l'intérieur d'un seul axe.

xyA = (0.2, 0.2)
xyB = (0.8, 0.8)
coordsA = "data"
coordsB = "data"
con = ConnectionPatch(xyA, xyB, coordsA, coordsB,
                      arrowstyle="-|>", shrinkA=5, shrinkB=5,
                      mutation_scale=20, fc="w")
ax1.plot([xyA[0], xyB[0]], [xyA[1], xyB[1]], "o")
ax1.add_artist(con)

Tracez une flèche entre des axes différents

Traçons une flèche entre le même point dans les coordonnées de données, mais dans des axes différents.

xy = (0.3, 0.2)
con = ConnectionPatch(
    xyA=xy, coordsA=ax2.transData,
    xyB=xy, coordsB=ax1.transData,
    arrowstyle="->", shrinkB=5)
fig.add_artist(con)

Tracez une ligne entre des points différents

Enfin, traçons une ligne entre des points différents, définis dans des systèmes de coordonnées différents.

con = ConnectionPatch(
    ## dans les coordonnées d'axe
    xyA=(0.6, 1.0), coordsA=ax2.transAxes,
    ## x dans les coordonnées d'axe, y dans les coordonnées de données
    xyB=(0.0, 0.2), coordsB=ax2.get_yaxis_transform(),
    arrowstyle="-")
ax2.add_artist(con)

Récapitulatif

Dans ce laboratoire, nous avons appris à utiliser ConnectionPatch, qui est utilisé pour tracer une ligne entre des points définis dans différents systèmes de coordonnées et/ou axes. Nous avons également appris à tracer une flèche simple et une ligne entre des points différents dans un tracé.