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!