Guten Tag liebe Community,
ich schreibe gerade ein Programm der mir statistische Plots ausgibt. Neben den Plots möchte ich einige statisiche Werte ausgegeben bekommen. Mit Hilfe von plt.text() füge ich noch daneben einen Text ein der die Werte anzeigt:
Statistic:
Mean: 0.98
Median: 0.97
Sigma: 0.82
max threshold: nan
Das sieht nicht so aus. Ich möchte gerne, dass die Abstände gleich sind, so in etwas:
Statistic:
Mean:-----------------0.98
Median:--------------0.97
Sigma:----------------0.82
max threshold:---nan
Ich habe im Internet nichts konkretes finden könne, um mein Problem zu lösen.
Ps.: die Bindestriche zwischen dem Parameter und der Zahlen soll eigentlich nicht da sein. Ich musste die einfügen, weil die Abstände sonst bei der fertigen Version verschwinden würden.
Gleicher Abstand bei Auflistung von Werten
- __blackjack__
- User
- Beiträge: 14032
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@Elias_HH: Du könntest erst die Beschriftungen setzen und dir dann die mit der breitesten „bounding box“ suchen und als Grundlage für die Berechnung der x-Koordinate der Werte verwenden.
„A life is like a garden. Perfect moments can be had, but not preserved, except in memory. LLAP” — Leonard Nimoy's last tweet.
@Elias_HH: Eine andere Möglichkeit wäre, das ganze mit LaTeX als Tabelle zu formatieren:
Achtung: Der Text muss anscheinend in einer Zeile stehen, weil `matplotlib` für jede Zeile ein neues LaTeX-Dokument erstellt.

Code: Alles auswählen
plt.rc('text', usetex=True)
plt.text(
x, y,
r"\setlength{\tabcolsep}{1em}"
r"\begin{tabular}{ll}"
r"mean & 0.42 \\"
r"median & 0.27 \\"
r"min & 42 \\"
r"long long text & 27"
r"\end{tabular}"
)
Vorschlag: Eine Figure mit 2 horizontalen Subplots anlegen.
In dem linken Bereich kannst du das Diagramm anzeigen,
in den rechten Bereich mit ax[1].text die Texte/Werte ausgeben.
Die Texte sind dann an den Koordinaten ausgerichtet.
Beispiel:
In dem linken Bereich kannst du das Diagramm anzeigen,
in den rechten Bereich mit ax[1].text die Texte/Werte ausgeben.
Die Texte sind dann an den Koordinaten ausgerichtet.
Beispiel:
Code: Alles auswählen
daten=einlesen("Dateiname")
x=np.arange(daten.size)
fig,ax=pyplot.subplots( ncols=2, dpi=100, figsize=(6,3.3))
ax[0].plot(x,daten)
ax[1].set_axis_off()
ax[1].text(0,0.7,"Text1\nText2\nText3")
ax[1].text(0.5,0.7,"Wert1\nWert2\nWert3")
pyplot.show()