Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann ich Matplotlib-Plots für die gleichzeitige Berechnung von der Codeausführung trennen?

Wie kann ich Matplotlib-Plots für die gleichzeitige Berechnung von der Codeausführung trennen?

Linda Hamilton
Linda HamiltonOriginal
2024-11-07 16:55:03459Durchsuche

How to detach matplotlib plots from code execution for concurrent computation?

Abtrennbare Matplotlib-Diagramme für gleichzeitige Berechnungen

Im Bereich der Datenvisualisierung ist die Erstellung interaktiver Diagramme oft ein entscheidender Aspekt. Matplotlib, eine beliebte Python-Bibliothek, bietet die Möglichkeit, statische und interaktive Diagramme zu erstellen. Allerdings können Benutzer auf Einschränkungen stoßen, wenn sie versuchen, Matplotlib-Plots von ihrer Codeausführung zu trennen, um laufende Berechnungen zu ermöglichen.

Herausforderung: Plots von der Codeausführung trennen

Bedenken Sie Folgendes Python-Codeausschnitt:

from matplotlib.pyplot import *
plot([1,2,3])
show()
# other code

Nach der Ausführung dieses Codes erscheint ein Plotfenster. Das Problem liegt jedoch darin, dass das Plotfenster verlassen werden muss, bevor das Programm mit weiteren Berechnungen fortfahren kann. Eine interaktive Untersuchung von Zwischenergebnissen, während das Programm seine Berechnungen fortsetzt, wird unmöglich.

Lösung: Verwenden Sie nicht blockierende Matplotlib-Aufrufe

Um diese Herausforderung zu meistern, bietet matplotlib mehrere Aufrufe, die kann verwendet werden, ohne die Codeausführung zu blockieren. Ein solcher Aufruf ist draw(). Durch die Einbeziehung der folgenden Änderungen:

from matplotlib.pyplot import plot, draw, show
plot([1,2,3])
draw()
print('continue computation')

# at the end call show to ensure window won't close.
show()

Durch die Ausführung dieses Codes wird das Plotfenster sofort angezeigt, während das Programm mit anderen Berechnungsaufgaben fortfährt. Die Funktion draw() aktualisiert den Plot effektiv, ohne die Codeausführung zu blockieren.

Eine andere Methode besteht darin, den interaktiven Modus in Matplotlib zu verwenden:

from matplotlib.pyplot import plot, ion, show
ion() # enables interactive mode
plot([1,2,3]) # result shows immediatelly (implicit draw())

print('continue computation')

# at the end call show to ensure window won't close.
show()

Aktivieren des interaktiven Modus in Matplotlib, angezeigt durch das Ion( )-Aufruf ermöglicht die Aktualisierung und Anzeige des Plots in Echtzeit im Verlauf der Berechnungen, ohne dass explizite Aufrufe von draw() erforderlich sind. Der show()-Aufruf am Ende stellt sicher, dass das Plotfenster geöffnet bleibt.

Das obige ist der detaillierte Inhalt vonWie kann ich Matplotlib-Plots für die gleichzeitige Berechnung von der Codeausführung trennen?. 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