Die blockierende Natur von Matplotlib kann die Echtzeit-Datenvisualisierung behindern. In diesem Artikel werden Lösungen zur Behebung dieses Problems anhand eines Beispiels aus der ursprünglichen Anfrage untersucht.
Der ursprüngliche Code verwendete Qt4Agg als Backend, was bekanntermaßen auftritt Einschränkungen bei der nicht blockierenden Ausführung. Die Verwendung von show(block=False) kann zu einem eingefrorenen Fenster führen, da Qt4Agg diese Funktionalität nicht unterstützt.
Um nicht blockierendes Plotten mit Matplotlib zu erreichen, zwei Wichtige Schritte sind von entscheidender Bedeutung:
Hier ist der aktualisierte Code, der diese Lösungen enthält:
<code class="python">import numpy as np from matplotlib import pyplot as plt def main(): plt.axis([-50,50,0,10000]) plt.ion() plt.show() x = np.arange(-50, 51) for pow in range(1,5): # plot x^1, x^2, ..., x^4 y = [Xi**pow for Xi in x] plt.plot(x, y) plt.draw() plt.pause(0.001) input("Press [enter] to continue.") if __name__ == '__main__': main()</code>
Mit diesem Code können Sie den vorhandenen Plot auf nicht blockierende Weise aktualisieren und so ein nahtloses und reaktionsfähiges Visualisierungserlebnis bieten.
Das obige ist der detaillierte Inhalt vonWie erreicht man mit Matplotlib nicht blockierendes Plotten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!