Matplotlib - Transformaciones

El paquete matplotlib está construido sobre un marco de transformación para moverse fácilmente entre sistemas de coordenadas. Se pueden utilizar cuatro sistemas de coordenadas. Los sistemas se describen brevemente en la tabla siguiente:

Coordinar Objeto de transformación Descripción
Datos ax.transData

El sistema de coordenadas de datos terrestres del usuario. controlado por el xlim y ylim

Ejes ax.transAxes

El sistema de coordenadas de los ejes. (0,0) es la parte inferior izquierda y (1,1) es la parte superior derecha de los ejes.

Figura fig.transFigure

El sistema de coordenadas de la Figura. (0,0) es la parte inferior izquierda y (1,1) es la parte superior derecha de la figura

monitor Ninguna

Este es el sistema de coordenadas de píxeles de la pantalla. (0,0) es la parte inferior izquierda y (ancho, alto) es la parte superior derecha de la pantalla en píxeles.

Alternativamente, se puede usar (matplotlib.transforms.IdentityTransform ()) en lugar de None.

Considere el siguiente ejemplo:

axes.text(x,y,"my label")

El texto se coloca en la posición teórica de un punto de datos (x, y). Así hablaríamos de "coordenadas de datos".

Utilizando otros objetos de transformación, se puede controlar la ubicación. Por ejemplo, si la prueba anterior se va a colocar en el centro del sistema de coordenadas de los ejes, ejecute la siguiente línea de código:

axes.text(0.5, 0.5, "middle of graph", transform=axes.transAxes)

Estas transformaciones se pueden utilizar para cualquier tipo de objetos Matplotlib. La transformación predeterminada paraax.text es ax.transData y la transformación predeterminada para fig.text es fig.transFigure.

El sistema de coordenadas de los ejes es extremadamente útil al colocar texto en sus ejes. A menudo, es posible que desee una burbuja de texto en una ubicación fija; por ejemplo, en la parte superior izquierda del panel de ejes y hacer que esa ubicación permanezca fija cuando se desplaza o hace zoom.