Hallo, zurzeit versuche ich mit Hilfe von Python eine grafische Oberfläche zur Auswertung verschiedener Messfiles zu verwirklichen. Dabei wird eine csv-Datei mit rund 300 000 Zeilen und 12 SPalten eingelesen und geplottet. Dabei ergibt sich aber dann das Problem, dass auf der x-Achse jeder Datumswert einzeln abgebildet wird. Deswegen versuche ich, die dargestellten Werte zu reduzieren. Leider hilft der Befehl ax.set_xticks[] nicht weiter und ich finde im Internet auch nichts, das mir weiterhelfen kann. Im Anhang habe ich noch eine Test-csv. angehängt, falls es etwas mit der Formatierung/Abspeicherung des Datums haben sollte. Ich hoffe, dass mir jemand bei meinem Problem weiterhelfen kann. Sollten noch mehr angaben benötigt werden gebt mir einfach bescheid. Vielen Dank bereits im Vorraus Mit freundlichen Grüßen Matthias
Ich tippe darauf, dass die Spalte nicht den richtigen Datentyp hat. Datumsangaben sind in matplotlib etwas Tricky. Iirc muss man die Spalte nach datetime64 wandeln.
Ist das datetime64 das gleiche Format wie das datetime-Format vom datetime-Modul oder muss ich das irgendwie anders konvertieren?
Hi, Mach das über die DateLocator-Routinen der Matplotlib. Klings erstmal etwas umständlich, ist aber mega flexibel. Ich musste mal für einen Plot jeden Montag im Grid hervorheben. Mit dem Daylocator ein Kinderspiel. Mach sowas mal mit Excel... Formatieren kannst du die Ticks dann mit den DateFormatter Routinen Hier gibt's weitere Infos: https://matplotlib.org/stable/gallery/text_labels_and_annotations/date.html Grüße, M
Nachtrag: In deinem Fall ist wahrscheinlich der MicrosecondLocator der geeignete :
1 | |
2 | from matplotlib import dates as mdates |
3 | ax.xaxis.set_major_locator(mdates.MicrosecondLocator(interval=5000, tz=None)) #alle 5msec |
4 | ax.xaxis.set_major_formatter(mdates.DateFormatter('%S.%f')) |
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.