Rotação do texto em relação à linha #

Os objetos de texto no matplotlib são normalmente girados em relação ao sistema de coordenadas da tela (ou seja, a rotação de 45 graus plota o texto ao longo de uma linha que está entre horizontal e vertical, independentemente de como os eixos são alterados). No entanto, às vezes, deseja-se girar o texto em relação a algo no enredo. Neste caso, o ângulo correto não será o ângulo daquele objeto no sistema de coordenadas do plot, mas o ângulo que aquele objeto APARECE no sistema de coordenadas da tela. Este ângulo pode ser determinado automaticamente definindo o parâmetro transform_rotates_text , conforme mostrado no exemplo abaixo.

rotação do texto em relação à linha
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()

Galeria gerada por Sphinx-Gallery