Heim  >  Artikel  >  Backend-Entwicklung  >  Wie trage ich Daten korrekt auf der X-Achse in Matplotlib ein?

Wie trage ich Daten korrekt auf der X-Achse in Matplotlib ein?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-17 13:51:02887Durchsuche

How to Correctly Plot Dates on the X-Axis in Matplotlib?

Datumsdarstellung in Matplotlib verstehen

Das Plotten von Informationen anhand von Datumsangaben kann eine häufige Aufgabe bei der Arbeit mit Zeitreihendaten sein. Das Konvertieren und Plotten von Datumsangaben kann jedoch gelegentlich zu Fehlern führen.

Das Problem: Konvertieren und Plotten von Datumsangaben

Im bereitgestellten Beispiel ist der Benutzer auf einen „Wertfehler: Jahr“ gestoßen Fehler „liegt außerhalb des Bereichs“ beim Versuch, Daten auf der x-Achse darzustellen. Das Problem entstand durch den Konvertierungsprozess, insbesondere bei der Verwendung von num2date.

Die Lösung: Verwendung der Plot-Funktion

Um dieses Problem zu beheben, sollten Sie stattdessen die Plot-Funktion verwenden plot_date. Diese Methode nimmt eine Liste von Datumsangaben und erkennt sie automatisch als Datumsangaben, sodass Sie den Konvertierungsschritt umgehen können.

Schritt 1: Datumsangaben in datetime.date-Objekte konvertieren

Konvertieren Sie die Datumszeichenfolgen zur einfacheren Handhabung in Instanzen von datetime.date. Zum Beispiel:

<code class="python">import datetime as dt

dates = ['01/02/1991', '01/03/1991', '01/04/1991']
x = [dt.datetime.strptime(d, '%m/%d/%Y').date() for d in dates]</code>

Schritt 2: Konfigurieren Sie die X-Achse für die Datumsformatierung

Richten Sie die X-Achse ein, um Datumsangaben korrekt anzuzeigen, indem Sie DateFormatter und DayLocator von matplotlib verwenden .dates:

<code class="python">import matplotlib.pyplot as plt
import matplotlib.dates as mdates

plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%m/%d/%Y'))
plt.gca().xaxis.set_major_locator(mdates.DayLocator())</code>

Schritt 3: Erstellen Sie das Diagramm

Zeichnen Sie abschließend die Daten mithilfe der eingerichteten x-Achse und der y-Achsendaten grafisch dar:

<code class="python">plt.plot(x, y)
plt.gcf().autofmt_xdate()</code>

Diese Methode eliminiert Konvertierungsfehler und stellt die Daten korrekt auf der x-Achse dar, wodurch eine klare Darstellung zeitbasierter Daten bereitgestellt wird.

Das obige ist der detaillierte Inhalt vonWie trage ich Daten korrekt auf der X-Achse in Matplotlib ein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn