Datum in der X-Achse für ein Matplotlib-Plot mit Imshow

8

Ich bin also neu in der Programmierung mit Matplotlib. Ich habe ein Farbdiagramm mit imshow () und einem Array erstellt. Zuerst war die Achse nur die Zeilen- und Spaltennummer meines Arrays. Ich habe extent = (xmin, xmax, ymin, ymax) verwendet, um die x-Achse in Unix-Zeit bzw. Höhe zu erhalten.

Ich möchte die X-Achse von Unix-Zeit (982376726,982377321) zu UT (02:25:26, 02:35:21) ändern. Ich habe eine Liste des Zeitbereichs in HH: MM: SS erstellt. Ich bin mir nicht sicher, wie ich meine aktuelle X-Achse durch diese neuen Zahlen ersetzen kann, ohne das Farbdiagramm zu ändern (oder es verschwinden zu lassen).

Ich schaute auf Datetime.Time, aber ich war damit verwirrt.

Jede Hilfe würde sehr geschätzt werden!

    
user3546200 17.04.2014, 17:24
quelle

1 Antwort

18

Ich habe einen Beispielcode zusammengestellt, der Ihnen bei Ihrem Problem helfen soll.

Der Code generiert zunächst einige randomisierte Daten mit numpy.random . Er berechnet dann Ihre x-Grenzen und y-Grenzen, wobei die x-Grenzen auf zwei Unix-Zeitstempeln basieren, die in Ihrer Frage angegeben sind, und die y-Grenzen sind nur generische Zahlen.

Der Code zeichnet dann die randomisierten Daten und verwendet pyplot Methoden, um die X-Achsen-Formatierung in schön dargestellte Strings umzuwandeln (anstelle von Unix-Timestamps oder Array-Nummern).

Der Code ist gut kommentiert und sollte alles erklären, was Sie brauchen, wenn nicht, bitte kommentieren und um Klärung bitten.

%Vor%

    
Ffisegydd 17.04.2014, 19:50
quelle