pandas .plot () x-Achse Tick Frequenz - wie kann ich mehr Ticks zeigen?

8

Ich zeichne Zeitreihen mit Pandas .plot () und möchte jeden Monat als x-Tick angezeigt sehen.

Hier ist die Datensatzstruktur

Hier ist das Ergebnis der .plot ()

Ich habe versucht, Beispiele aus anderen Posts und matplotlib Dokumentation zu verwenden und etwas wie

zu tun %Vor%

Aber das hat alle Zecken entfernt: (

Ich habe auch versucht, xticks = df.index zu übergeben, aber es hat sich nichts geändert.

Was wäre der richtige Weg, um mehr Zecken auf der x-Achse zu zeigen?

    
Rotkiv 27.09.2016, 01:30
quelle

3 Antworten

2

Der richtige Weg, das zu tun hier Mit dem Parameter x_compat ist es möglich, die automatische Anpassung der Tick-Auflösung zu unterdrücken

df.A.plot(x_compat=True)

    
Rotkiv 06.10.2016, 23:58
quelle
3

Sie müssen keine Argumente an MonthLocator übergeben. Stellen Sie sicher, dass x_compat im Aufruf von df.plot() pro @ Rotkiv verwendet wird.

%Vor%     
Kyle 16.01.2018 19:56
quelle
1

Sie könnten auch die X-Achsen Ticks und Beschriftungen eines Pandas DateTimeIndex "manuell" mit den Attributen eines Pandas Timestamp Objekts formatieren.

Ich fand das viel einfacher als Locators von matplotlib.dates , die mit anderen Datetime-Formaten arbeiten als Pandas (wenn ich mich nicht irre) und daher manchmal ein seltsames Verhalten zeigen, wenn die Daten nicht entsprechend konvertiert werden.

Hier ist ein generisches Beispiel, das den ersten Tag eines jeden Monats als eine Beschriftung zeigt, die auf den Attributen von Pandas Timestamp objects basiert:

%Vor%

ergibt:

Hoffe, das hilft!

    
Cord Kaldemeyer 23.01.2018 12:19
quelle

Tags und Links