Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich eine Datum-Uhrzeit-Achse in Matplotlib so formatieren, dass nur Jahr und Monat angezeigt werden?

Wie kann ich eine Datum-Uhrzeit-Achse in Matplotlib so formatieren, dass nur Jahr und Monat angezeigt werden?

DDD
DDDOriginal
2024-10-27 18:46:30254Durchsuche

How can I format a datetime axis in matplotlib to show only year and month?

Anpassen des Formats einer Datetime-Achse

In einem Szenario, in dem Sie eine Serie mit einem Datetime-Index visualisieren möchten, kann es vorkommen, dass die Das Diagramm zeigt Zeitstempel einschließlich Stunden, Minuten und Sekunden an, obwohl Sie ein einfacheres Format wie „JJJJ-MM“ oder „März 2016“ bevorzugen.

Um dieses Problem zu beheben und die gewünschte Formatierung zu erreichen, können wir die Funktionen nutzen bereitgestellt von matplotlib. Insbesondere die Datum-Uhrzeit-Achse kann mithilfe von Formatierern angepasst werden. Mit diesen Formatierern können Sie angeben, wie die Teilstrichbeschriftungen auf der x-Achse angezeigt werden sollen.

Hier ist ein Beispiel, das die Verwendung von Formatierern demonstriert:

<code class="python">import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.dates as mdates

# Sample data with hourly timestamps
N = 30
drange = pd.date_range("2014-01", periods=N, freq="H")
np.random.seed(365)
values = {'values':np.random.randint(1,20,size=N)}
df = pd.DataFrame(values, index=drange)

# Create a plot with incorrect formatting
fig, ax = plt.subplots()
ax.plot(df.index, df.values)
ax.set_xticks(df.index)

# Use formatters to achieve the desired formatting
ax.xaxis.set_major_formatter(mdates.DateFormatter("%Y-%m"))
ax.xaxis.set_minor_formatter(mdates.DateFormatter("%Y-%m"))
plt.xticks(rotation=90)

# Display the updated plot with the desired formatting
plt.show()</code>

In diesem Beispiel führen wir zuerst Erstellen Sie einen Beispiel-DataFrame mit stündlichen Zeitstempeln. Anschließend verwenden wir den DateFormatter aus matplotlib.dates, um anzugeben, dass die Teilstrichbeschriftungen auf der x-Achse das Format „%Y-%m“ haben sollen, das nur das Jahr und den Monat darstellt. Abschließend rufen wir xticks auf, um die Markierungen der Markierungen für eine bessere Lesbarkeit zu drehen.

Durch die Implementierung dieses Ansatzes können Sie das Format Ihrer Datum-Uhrzeit-Achse effektiv anpassen und so sicherstellen, dass es Ihren gewünschten Anzeigeanforderungen entspricht.

Das obige ist der detaillierte Inhalt vonWie kann ich eine Datum-Uhrzeit-Achse in Matplotlib so formatieren, dass nur Jahr und Monat angezeigt werden?. 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