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
Matplotlib, absolute Positionierung von Text
-
- User
- Beiträge: 512
- Registriert: Mittwoch 13. November 2019, 08:38
Du kannst die Koordinaten auf verschiedene Weise über den `transform`-Parameter transformieren (lassen).
Beispiele:
`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.
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()
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.
-
- User
- Beiträge: 26
- Registriert: Mittwoch 4. April 2018, 09:12
Super, hat geklappt!
Vielen Dank...
Vielen Dank...