Nota
Haga clic aquí para descargar el código de ejemplo completo
Rotación de texto relativa a la línea #
Los objetos de texto en matplotlib normalmente se giran con respecto al sistema de coordenadas de la pantalla (es decir, la rotación de 45 grados traza el texto a lo largo de una línea que se encuentra entre la horizontal y la vertical sin importar cómo se cambien los ejes). Sin embargo, a veces uno quiere rotar el texto con respecto a algo en la trama. En este caso, el ángulo correcto no será el ángulo de ese objeto en el sistema de coordenadas de la gráfica, sino el ángulo en el que ese objeto APARECE en el sistema de coordenadas de la pantalla. Este ángulo se puede determinar automáticamente configurando el parámetro transform_rotates_text , como se muestra en el siguiente ejemplo.
import matplotlib.pyplot as plt
import numpy as np
fig, ax = plt.subplots()
# Plot diagonal line (45 degrees)
h = ax.plot(range(0, 10), range(0, 10))
# set limits so that it no longer looks on screen to be 45 degrees
ax.set_xlim([-10, 20])
# Locations to plot text
l1 = np.array((1, 1))
l2 = np.array((5, 5))
# Rotate angle
angle = 45
# Plot text
th1 = ax.text(*l1, 'text not rotated correctly', fontsize=16,
rotation=angle, rotation_mode='anchor')
th2 = ax.text(*l2, 'text rotated correctly', fontsize=16,
rotation=angle, rotation_mode='anchor',
transform_rotates_text=True)
plt.show()