Matplotlib - Transformations
Le package matplotlib est construit sur un cadre de transformation pour se déplacer facilement entre les systèmes de coordonnées. Quatre systèmes de coordonnées peuvent être utilisés. Les systèmes sont décrits brièvement dans le tableau ci-dessous -
Coordonner | Objet de transformation | La description |
---|---|---|
Les données | ax.transData | Le système de coordonnées des données terrestres de l'utilisateur. contrôlé par xlim et ylim |
Haches | ax.transAxes | Le système de coordonnées des axes. (0,0) est en bas à gauche et (1,1) en haut à droite des axes. |
Figure | fig.transFigure | Le système de coordonnées de la figure. (0,0) est en bas à gauche et (1,1) en haut à droite de la figure |
afficher | Aucun | Il s'agit du système de coordonnées des pixels de l'affichage. (0,0) est le coin inférieur gauche et (largeur, hauteur) est le coin supérieur droit de l'affichage en pixels. Alternativement, (matplotlib.transforms.IdentityTransform ()) peut être utilisé à la place de None. |
Prenons l'exemple suivant -
axes.text(x,y,"my label")
Le texte est placé à la position théorique d'un point de données (x, y). On parlerait ainsi de "coordonnées de données".
À l'aide d'autres objets de transformation, le placement peut être contrôlé. Par exemple, si le test ci-dessus doit être placé au centre du système de coordonnées des axes, exécutez la ligne de code suivante -
axes.text(0.5, 0.5, "middle of graph", transform=axes.transAxes)
Ces transformations peuvent être utilisées pour tout type d'objets Matplotlib. La transformation par défaut pourax.text est ax.transData et la transformation par défaut pour fig.text est fig.transFigure.
Le système de coordonnées des axes est extrêmement utile lorsque vous placez du texte dans vos axes. Vous voudrez peut-être souvent une bulle de texte à un emplacement fixe; par exemple, dans le coin supérieur gauche du volet des axes et que cet emplacement reste fixe lorsque vous effectuez un panoramique ou un zoom.