Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich Matplotlib-Plots effizient aktualisieren, ohne sie neu zu zeichnen?

Wie kann ich Matplotlib-Plots effizient aktualisieren, ohne sie neu zu zeichnen?

DDD
DDDOriginal
2024-12-03 05:05:13820Durchsuche

How Can I Efficiently Update Matplotlib Plots Without Replotting?

Matplotlib-Diagramme effizient aktualisieren

Um Diagramme in Matplotlib zu aktualisieren und gleichzeitig wiederholtes Plotten zu vermeiden, ziehen Sie die folgenden Optionen in Betracht:

1. Löschen und Neuplotten mit der Clear-Methode

Rufen Sie graph1.clear() und graph2.clear() auf, bevor Sie den Plot neu zeichnen. Dies sorgt für eine saubere Sache, kann aber langsam sein.

2. Daten von Plotobjekten aktualisieren

Aktualisieren Sie die Daten bestehender Plotobjekte, anstatt sie vollständig neu zu plotten. Dies ist schneller, erfordert jedoch, dass die Datenform konstant bleibt. Möglicherweise ist eine manuelle Anpassung der Achsengrenzen erforderlich.

Um die zweite Option zu demonstrieren:

import matplotlib.pyplot as plt
import numpy as np

# Define initial data
x = np.linspace(0, 6*np.pi, 100)
y = np.sin(x)

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

# Iterate through phases and update data
for phase in np.linspace(0, 10*np.pi, 500):
    line1.set_ydata(np.sin(x + phase))
    fig.canvas.draw()
    fig.canvas.flush_events()

Diese Methode aktualisiert die Plotdaten effizient in Echtzeit, ohne den gesamten Plot neu zeichnen zu müssen.

Das obige ist der detaillierte Inhalt vonWie kann ich Matplotlib-Plots effizient aktualisieren, ohne sie neu zu zeichnen?. 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