[英]How do plt.plot(x,y) and plt.show() work the way they do?
我想知道matplotlib.pyplot的 plt.plot(x,y)
和plt.show()
命令之間plt.plot(x,y)
的基本主干過程。
詳細說明一下,這段代碼:
plt.plot(x , y)
plt.show()
顯示所需的圖形(沒有問題)。
另外,代碼:
plt.plot(x , y)
plt.plot(p , q)
plt.show()
工作得很好。 它顯示了由列表x和y以及p&q創建的兩個圖。
現在,在ipython中動態編碼時,我發現這里非常有趣。
In [73]: plt.plot(x , y)
#normal plotting function.
In [78]: plt.show()
#shows a graph as intended.
In [79]: plt.show()
#shows nothing.
現在,無論我多少次調用plt.show()
(在我調用它之后),它根本不顯示圖形。 為什么會這樣? 。
PS:據我所知,可能有一個對象正在創建和刪除這個過程。 但我既不確定也不相信。
提前致謝。
Pyplot使用或是所謂的“statemachine”。 它存儲了許多數字和當前軸和圖的參考。 一旦調show
,所有數字都會顯示,一旦show
返回,它們就會從狀態機中刪除。
在隨后的調用中show
沒有數字可以顯示,因此不顯示輸出。
因此,有一些(可能是不成文的或隱式的)假設show
在腳本中只調用一次。
值得注意的是,盡管從狀態機中刪除了數字,但它們仍會保留在內存中,直到它們關閉為止。 因此,它們可能會在某些情況下重復使用,具體取決於所需的工作流程。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.