Pandas Dataframe-Liniendiagramm: Datum auf der X-Achse genau anzeigen
Um Daten auf der X-Achse einer Pandas Dataframe-Linie genau anzuzeigen Plot ist es wichtig, die Inkompatibilitäten zwischen den Datetime-Dienstprogrammen von Pandas und zu verstehen Matplotlib.
Das Datumsmodul von Matplotlib verarbeitet Datumszeitobjekte als Gleitkommazahlen, die die Zeit in Tagen seit dem 01.01.0001 UTC mit einem Offset von 1 darstellen. Dies unterscheidet sich vom von Pandas verwendeten Format, was zu potenziellen Problemen führen kann .
Um dieses Problem zu lösen, kann man die Datum/Uhrzeit-Verarbeitungsfunktionen von Pandas deaktivieren und sich stattdessen auf die Formatierungsoptionen von Matplotlib verlassen. Dies kann erreicht werden, indem beim Plotten des Datenrahmens x_compat=True festgelegt wird:
test.plot(x_compat=True)
Dieser Ansatz bedeutet jedoch auch, dass die ausgefeilten Datumsformatierungsfunktionen von Pandas geopfert werden müssen. Um diese Einschränkung zu überwinden, sollten Sie die Formatierung von Matplotlib direkt verwenden:
ax.xaxis.set_major_locator(dates.DayLocator()) ax.xaxis.set_major_formatter(dates.DateFormatter('%d\n\n%a'))
Durch die Verwendung von DayLocator und DateFormatter aus dem Datumsmodul von Matplotlib können Sie die Datumsanzeige anpassen, ohne die Genauigkeit zu beeinträchtigen.
Darüber hinaus können Sie die x-Achse invertieren und automatisch formatieren Termine:
ax.invert_xaxis() plt.gca().autofmt_xdate(rotation=0, ha="center")
Dieser Ansatz bietet Flexibilität bei der Datumsformatierung und gewährleistet gleichzeitig die Kompatibilität zwischen Pandas und Matplotlib.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3