Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich Matplotlib-Plots effizient mit neuen Daten aktualisieren?

Wie kann ich Matplotlib-Plots effizient mit neuen Daten aktualisieren?

Linda Hamilton
Linda HamiltonOriginal
2024-12-05 18:38:12274Durchsuche

How Can I Efficiently Update Matplotlib Plots with New Data?

Plots in Matplotlib aktualisieren

Bei der Arbeit mit interaktiven Plots in Matplotlib ist es oft notwendig, den Plot mit neuen Daten zu aktualisieren. Dies kann auf zwei Arten erreicht werden:

Option 1: Löschen und neu zeichnen

Bei diesem Ansatz wird der vorhandene Plot gelöscht und von Grund auf neu gezeichnet. Um dies zu tun:

  1. Rufen Sie graph1.clear() und graph2.clear() auf, um die aktuellen Daten zu entfernen.
  2. Berechnen Sie die neuen Daten neu und zeichnen Sie sie wie zuvor auf.

Diese Methode ist zwar einfach, aber auch die langsamste.

Option 2: Aktualisieren Daten

Um zu vermeiden, dass das gesamte Diagramm neu gezeichnet wird, können Sie die Daten der vorhandenen Diagrammobjekte direkt aktualisieren. Dies ist viel schneller, erfordert aber:

  1. Ändern Sie Ihren Code, um die Plotlogik von der Datenerfassungslogik zu trennen.
  2. Sicherstellen, dass die Datenform konstant bleibt.
  3. Manuelles Zurücksetzen der X- und Y-Achsengrenzen des Datenbereichs Änderungen.

Beispiel:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 6*np.pi, 100)
y = np.sin(x)

fig = plt.figure()
ax = fig.add_subplot(111)
line1, = ax.plot(x, y, 'r-')

for phase in np.linspace(0, 10*np.pi, 500):
    line1.set_ydata(np.sin(x + phase))
    fig.canvas.draw()
    fig.canvas.flush_events()

Das obige ist der detaillierte Inhalt vonWie kann ich Matplotlib-Plots effizient mit neuen Daten aktualisieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn