Plot aus TextDatei über fortlaufende X-Achse

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Ymaoh
User
Beiträge: 10
Registriert: Samstag 29. Juli 2017, 09:20

Code: Alles auswählen


import matplotlib.pyplot as plt

plt.plotfile('C:\Users\Hannes\Desktop\Bachelorarbeit\Messdatenzeug\pyro_end_700.dat', delimiter=' ', cols=(0, 1),
             names=('Number of shots / 1', 'Energy / J'), marker=' ', newfig=True)
plt.plotfile('C:\Users\Hannes\Desktop\Bachelorarbeit\Messdatenzeug\pyro_end_950.dat', delimiter=' ', cols=(0, 1),
             names=('Number of shots / 1', 'Energy / J'), marker=' ', newfig=False)
plt.plotfile('C:\Users\Hannes\Desktop\Bachelorarbeit\Messdatenzeug\pyro_end_1100.dat', delimiter=' ', cols=(0, 1),
             names=('Number of shots / 1', 'Energy / J'), marker=' ', newfig=False)

plt.show()


Hallo!

Ich versuche, Daten aus verschiedenen Textfiles, die aus zwei Spalten bestehen, in eine Grafik zu plotten. Das funktioniert so schon ganz gut...
Ich möchte jetzt allerdings die Daten aus Spalte 1 einfach über eine fortlaufende x-Achse plotten, also so, dass dem ersten Y-Wert aus Spalte 1 auch die 1 auf der x-Achse zugeordnet wird, dem 2ten die 2 und so weiter, und das für alle drei Grafen, habe allerdings keine Idee, wie ich das mit diesem Code bewerkstelligen kann. (Ohne einfach manuell die 0 Spalte in den Textdateien dementsprechend zu ändern.)

Ich hoffe, mein Problem ist einigermaßen verständlich formuliert :K

:)
BlackJack

@Ymaoh: Um die Dokumentation zu `plotfile()` zu zitieren:
Note: plotfile is intended as a convenience for quickly plotting data from flat files; it is not intended as an alternative interface to general plotting with pyplot or matplotlib.
Du willst mit der Funktion mehr machen als sie leistet.
Ymaoh
User
Beiträge: 10
Registriert: Samstag 29. Juli 2017, 09:20

Oh, Danke für die rasche Antwort.

Das heißt also, ich muss doch die Daten in den Files ändern.
BlackJack

@Ymaoh: Das kannst Du natürlich machen. Ich hätte ja eher gedacht Du benutzt nicht `plotfile()` sondern lädst die zweite Spalte und stellst dann beim Plotten die Daten für die erste Spalte im Programm.
Antworten