在 Python 中執行複雜計算時,透過互動式視覺化監控中間結果可能會很有幫助。但是,呼叫 matplotlib.pyplot.show() 通常會阻止進一步的計算,直到圖形關閉。這會影響長時間運行任務的效率。
這種阻塞行為可以被規避嗎?
是的,可以將 matplotlib 繪圖從計算過程中分離出來,允許兩者同時進行。這樣可以在程式繼續計算的同時對結果進行互動式探索。
利用非阻塞方法
可以實作matplotlib 提供的兩個非阻塞函數來實現此目的:
範例:
from matplotlib.pyplot import plot, draw, show plot([1,2,3]) draw() print('continue computation') # Display the plot after computation completes show()
範例:
from matplotlib.pyplot import plot, ion, show ion() # Enables interactive mode plot([1,2,3]) # Figure updates immediately print('continue computation') # Display the plot after computation completes show()
總之,利用 draw() 或使用 ion() 啟動互動模式,可以在後台進行計算的同時保持 matplotlib 繪圖的互動性。該技術顯著提高了涉及複雜計算和互動式資料視覺化的工作流程的效率。
以上是matplotlib 繪圖可以在計算過程中保持互動嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!