Seite 1 von 1

Matplotlib, absolute Positionierung von Text

Verfasst: Dienstag 3. Dezember 2019, 09:32
von superschlau
Salü zäme
Wie ich aus der Dokumentation entnehme, beziehen sich x und y bei matplotlib.pyplot.text auf die Skalierung der entsprechenden Achsen.
Ich möchte auf meinen Auswertungen z.B. immer unten rechts das Erstellungsdatum hinzufügen. Wenn ich diese feste Position immer auf die Skala der Achse umrechnen muss, ist das etwas kompliziert und ohne genaue Kenntnisse der matplotlib-Parameter fast nicht möglich. Ich kann zwar mit get_ylim der minimale und maximale Wert der Achse rauslesen, wo aber der minimale Wert von der anderen Achse distanziert ist, habe ich nicht rausgefunden.

Deshalb meine Frage, ist es möglich einen Text in absoluten Koordinaten (z.B. in Pixel) anzugeben?? Oder wie könnte man ein solches Problem elegant lösen?

Besten Dank und Gruss, Jakob

Re: Matplotlib, absolute Positionierung von Text

Verfasst: Dienstag 3. Dezember 2019, 09:56
von kbr
Du könntest die figure statt der axis zur Positionierung verwenden. Dort erfolgt die Positionierung im Bereich 0-1 über die figure.

Re: Matplotlib, absolute Positionierung von Text

Verfasst: Dienstag 3. Dezember 2019, 10:01
von einfachTobi
Du kannst die Koordinaten auf verschiedene Weise über den `transform`-Parameter transformieren (lassen).
Beispiele:

Code: Alles auswählen

import matplotlib.pyplot as plt
import numpy as np
x = np.arange(0, 10, 0.005)
y = np.exp(-x/2.) * np.sin(2*np.pi*x)
fig, ax = plt.subplots()
ax.plot(x, y)
ax.set_xlim(0, 10)
ax.set_ylim(-1, 1)
ax.text(0.95, -0.1, 'FOO', transform=ax.transAxes)
ax.text(0.91, 0.033, 'BAR', transform=fig.transFigure)
plt.show()
`transform=None` führt zu Verwendung des Pixel-Koordinatensystems des Fensters. Nähere Informationen hier: https://matplotlib.org/3.1.1/tutorials/ ... orial.html
Die Lösung über relative Angaben ist der elegante Weg, da so sichergestellt ist, dass der Text unabhängig von der Fenstergröße immer an der gleichen Stelle landet.

Re: Matplotlib, absolute Positionierung von Text

Verfasst: Dienstag 3. Dezember 2019, 21:59
von superschlau
Super, hat geklappt!
Vielen Dank...