Heim >Backend-Entwicklung >Python-Tutorial >Wie erstelle ich dynamische Diagramme in Echtzeit in Matplotlib?
Frage:
Wie kann ich ein Echtzeitdiagramm in der Matplotlib-Bibliothek von Python aktualisieren? und fügt Datenpunkte hinzu, sobald sie entstehen verfügbar?
Antwort:
Matplotlib bietet mehrere Methoden zum Animieren von Daten in Echtzeit. Ein empfohlener Ansatz für Ihr Szenario ist die Verwendung der Animations-API-Funktion FuncAnimation. Diese Funktion animiert eine Funktion in der Zeit, wobei Ihre Funktion diejenige sein kann, die zum Erfassen von Daten von der seriellen Schnittstelle verwendet wird.
Jede Animationsmethode aktualisiert normalerweise die Dateneigenschaft des gezeichneten Objekts. Diese Eigenschaft kann erweitert werden, um vorherige Punkte beizubehalten und gleichzeitig neuere hinzuzufügen.
Angesichts der unsicheren Datenankunftszeit können Sie eine Funktion wie die folgende implementieren:
import matplotlib.pyplot as plt import numpy hl, = plt.plot([], []) def update_line(hl, new_data): hl.set_xdata(numpy.append(hl.get_xdata(), new_data)) hl.set_ydata(numpy.append(hl.get_ydata(), new_data)) plt.draw()
Rufen Sie einfach update_line mit auf empfangene Daten immer dann, wenn ein neuer Datenpunkt von der seriellen Schnittstelle abgerufen wird. Dieser Ansatz ermöglicht dynamische Diagrammaktualisierungen, ohne dass das gesamte Diagramm gelöscht oder neu gezeichnet werden muss.
Das obige ist der detaillierte Inhalt vonWie erstelle ich dynamische Diagramme in Echtzeit in Matplotlib?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!