Ich habe eine Pandas-Serie ts mit Index in datetime und seine Auflösung ist 1s; Diese Zeitreihe umfasst 23 Stunden. Ich versuche, dies in mehreren Diagrammen mit einem Config-Parameter chart_sec (wie viele Sekunden in einem Diagramm angezeigt) mit einer festen dpi = 20; Die Auflösung reicht möglicherweise nicht aus, um jeden einzelnen Punkt von ts im Diagramm darzustellen.matplotlib aggregieren mehrere Punkte einer Serie innerhalb eines Pixels
import pyplot as plt
ax = plt.subplot()
dates = [dt.to_datetime() for dt in ts.index]
ax.plot_date(dates, ts, fmt='k-', color='grey')
plt.savefig(fname, dpi=20)
Frage 1, weiß ich nicht, welchen Wert ich bin Plotten den obigen Code verwenden (es ist der Wert des ersten oder letzten Punkt in einem Pixel?) Frage 2, wenn ich Werte summieren möchten von Punkten innerhalb eines Pixels, wie geht das?
Hallo, ich bin mir nicht sicher, was Sie hier meinen, indem Sie "mehrere Punkte in einem Pixel" haben. Sie sollten nur ein Diagramm mit 7200 Punkten bekommen - abhängig von der Vergrößerung, die Sie möglicherweise nicht klar lösen können. Hast du ein Beispiel 'ts' und eine Beispielausgabe, die du posten kannst? –
Wenn Sie versuchen, eine Figur zu speichern und in der Lage zu sein, jeden Punkt zu unterscheiden, besteht ein Trick darin, eine große Figurengröße zu verwenden (zB 'plt.figure (figsize = (70,70))') und als Vektortyp zu speichern (pdf) oder hohe dpi. Wenn Sie sich im Standardfenster von matplotlib ansehen, können Sie die Ansicht vergrößern. –
@JRichardSnape danke für die Antwort. Ich habe die Frage bearbeitet; Die Sicherungsdatei hat eine feste dpi, die möglicherweise nicht ausreicht, um jeden Punkt von ts in einem Diagramm darzustellen. Hoffe das kann meine Fragen klären. – Everest