Als ich nach df.plot () set_major_formatter () gesetzt habe, hatte ich das Problem, dass die Jahr- und Monatsnotation von xtick fehlerhaft war, aber ich habe es gelöst, also habe ich mir eine Notiz gemacht.
pandas:0.24.2 matplotlib:3.1.0
import pandas as pd
import numpy as np
N = 100
x = np.random.rand(N)
y = x**2
df = pd.DataFrame(
index=pd.date_range('2020-01-01', periods=N, freq='D'),
data=dict(x=x, y=y)
)
df.head()
#Verwenden Sie die Pandas-Plot-Funktion
df.plot()
Wenn der DataFrame-Index DatetimeIndex ist, wird das Häkchen automatisch formatiert. Wenn dieses Format in Ordnung ist, ist das in Ordnung.
import matplotlib.dates as mdates
#Verwenden Sie die Pandas-Plot-Funktion
ax = df.plot()
#Neuformatierung
ax.xaxis.set_major_formatter(mdates.DateFormatter('%Y/%m/%d'))
Die Anzeige für% Y ist seltsam. Was ist 0051 Jahre ... Laut der folgenden Site scheint das datetime-Dienstprogramm von pandas und matplotlib nicht kompatibel zu sein. https://code-examples.net/ja/q/2a2a615
import matplotlib.dates as mdates
# x_Übergeben Sie die Kompatibilitätsoption. Dies unterdrückt die automatische Anpassung von Zecken.
ax = df.plot(x_compat=True)
ax.xaxis.set_major_formatter(mdates.DateFormatter('%Y/%m/%d'))
% Y ist jetzt korrekt im Jahr 2020!
Steht x_compat für x_compatibility? Laut der offiziellen Dokumentation ist x_compat ein Parameter, der die automatische Anpassung von Zecken unterdrückt. https://pandas.pydata.org/pandas-docs/stable/user_guide/visualization.html#suppressing-tick-resolution-adjustment
Wenn es einen klügeren Weg gibt, würde ich es begrüßen, wenn Sie mich unterrichten könnten.