Textdrehung relativ zur Zeilennummer

Textobjekte in Matplotlib werden normalerweise in Bezug auf das Bildschirmkoordinatensystem gedreht (dh eine 45-Grad-Drehung zeichnet Text entlang einer Linie, die zwischen horizontal und vertikal liegt, unabhängig davon, wie die Achsen geändert werden). Manchmal möchte man jedoch Text in Bezug auf etwas in der Handlung drehen. In diesem Fall ist der richtige Winkel nicht der Winkel dieses Objekts im Plotkoordinatensystem, sondern der Winkel, in dem dieses Objekt im Bildschirmkoordinatensystem ERSCHEINEN wird. Dieser Winkel kann automatisch bestimmt werden, indem der Parameter transform_rotates_text gesetzt wird, wie im Beispiel unten gezeigt.

Textrotation relativ zur Zeile
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()

Galerie generiert von Sphinx-Gallery