Wie vermeidet man Überlappungen zwischen x Ticks in Matplotlib? - Python, Matplotlib

Ich versuche mit matplotlib eine Abhängigkeit zu zeichnenDaten (Ich verwende Daten als X-Werte). Als Ergebnis bekomme ich einen Plot mit einer großen Anzahl von X-Ticks (Daten) und diese Daten sind überlappt, so dass man nicht erkennen kann, welches Datum da ist.

Ich habe gelesen, dass das Problem von Datumsangaben auftreten kann, sind nicht wirklich Datumsobjekte, sondern Zeichenketten, die die Daten darstellen (zum Beispiel "2015-02-12"). Allerdings habe ich wirklich Date-Objekte und es funktioniert immer noch nicht.

Hier ist mein Code:

plt.figure()
plt.xlim([date_1, date_2])
plt.xticks(rotation=90)
plt.plot(df["col1"].tolist(), df["col2"].tolist(), marker = "o")
plt.savefig(fname)

Antworten:

2 für die Antwort № 1

Ich erinnere mich, dieses Problem gelöst zu haben, indem ich python angewiesen habe, nicht alle Datumsangaben, sondern nur jedes n-te Datum aus der riesigen Liste zu zeichnen.

In meinem Code habe ich das im folgenden Befehl gelöst:

ax.axes.get_xaxis().set_ticks(datetimes[::2])

Beachten Sie, dass es das [:: 2] ist, das python anweist, jedes zweite Element zu übernehmen.

Sie sollten verschiedene Werte ausprobieren und schauen, was am besten für Sie funktioniert, entweder 2, 50 oder 200.


Speisekarte