„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Warum wird Matplotlib-Echtzeitdiagramm in Schleife nicht aktualisiert?

Warum wird Matplotlib-Echtzeitdiagramm in Schleife nicht aktualisiert?

Gepostet am 2025-04-21
Durchsuche:381

Why Doesn't My Matplotlib Real-Time Plot Update Inside a While Loop?

in einer Weile Schleife: Eine Fehlerbehebung Anleitung

Wenn Sie versuchen, Echtzeit-Pläne zu erstellen, ist es wichtig zu verstehen, warum die Plot-Updates möglicherweise nicht wie erwartet in einer Weile vorkommen. In diesem speziellen Fall entsteht das Problem bei der Implementierung von Echtzeit-Plotten mit Matplotlib, um Daten zu visualisieren, die von einer Kamera in openCV abgerufen wurden. PLT.AXIS ([0, 1000, 0, 1]) I = 0 x = list () y = list () Während ich

mit der Erwartung, 1000 Punkte einzeln geplottet zu sehen, zeigt der Code überraschend nur den ersten Punkt und wartet dann, bis die Schleife abgeschlossen ist, bevor er den Rest des Diagramms füllt. Dieses Verhalten entsteht, weil Matplotlibs Standardverhalten darin besteht, bis zum Ende des Programms zu warten, um das gesamte Graph zu zeichnen.

fig = plt.figure()
plt.axis([0, 1000, 0, 1])

i = 0
x = list()
y = list()

while i  

Der Schlüsselunterschied hier ist die Aufnahme von Plt.Pause (0.05). Diese Funktion pausiert die Ausführung des Programms für 0,05 Sekunden und ermöglicht es, dass sowohl der Datenpunkt geplant werden und die Ereignisschleife der GUI ausführen (Maus-Interaktionen möglich machen).

Mit dieser Änderung wird die Handlung in Echtzeit aktualisiert und zeigt jeden Punkt, wie er dem Datensatz hinzugefügt wird.

]
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3