簡體   English   中英

我可以在python交互模式下有多個matplotlib繪圖窗口嗎?

[英]Can I have multiple matplotlib plot windows in python interactive mode?

我已經使用Matlab / octave很長一段時間了,我正在轉向NumPy / SciPy。 我發現matplotlib與Matlab中的圖形繪圖非常相似,並且易於使用。

但是,有一點我對matplotlib感到不舒服的是當我使用plt.show()繪制一個圖形時,然后該過程被卡在那里,因此我無法在關閉該窗口之前鍵入任何新命令或啟動另一個窗口來繪制另一個圖形。 例如,如果我們鍵入以下代碼,那么在關閉此窗口之前,我們不能鍵入任何新命令,也不能為另一個繪圖啟動另一個窗口。

import matplotlib.pyplot as plt
plt.plot([1,2,3,4])
plt.ylabel('some numbers')
plt.show()

這種行為與Matlab圖非常不同。 我們可能在Matlab交互模式中有多個圖形窗口。

我們可以在python交互模式下做同樣的事情嗎?

在IPython中運行%matplotlib可啟用matplotlib交互式支持,而無需將任何內容導入交互式命名空間。 然后運行plt.figure()會立即打開一個新的繪圖窗口,plt.imshow()用圖像填充它,plt.plot()對表格數據執行相同操作,所有這些都不會阻止控制台交互。

使用matplotlib交互模式啟用它可以運行plt.show(),即使沒有設置block = False也不會阻塞任何內容,這會導致IPython在非交互模式下掛起致命。

%pylab還支持matplotlib交互式支持,但它加載了太多導入,不推薦使用。

使用' %run -i'執行的外部腳本在IPython的命名空間中運行,並且如果已在其中啟用,則將具有交互式繪圖支持。

有關matplotlib交互模式的更多信息,請參閱什么是交互模式? 在IPython中用mathplotlib繪圖

您需要在調用plt.ion()之前調用plt.show()來打開交互模式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM