![](/img/trans.png)
[英]How can I prevent parallel python from quitting with “OSError: [Errno 35] Resource temporarily unavailable”?
[英]Can I prevent Spyder from displaying inline images temporarily?
在Spyder IDE中,我想保留內聯控制台繪圖(我不想為每個繪圖生成單獨的窗口),但是我想以編程方式禁用繪圖,即在不同的單元格中。
在我的工作流程中,我需要繪制一些簡單的圖形,然后生成圖形並將其保存為視頻幀(成千上萬個)。 我的框架是通過加載jpg圖像,然后覆蓋一些注釋創建的。
for jpg_path in path_list:
img = mpl.image.imread(jpg_path)
ax.imshow(img)
ax.text(etc...)
fig.savefig(etc...)
我想保留內聯后端; %matplotlib inline
。
但是請使用諸如plt.ioff()
類的plt.ioff()
關閉繪圖。
但是plt.ioff()
僅適用於%matplotlib qt
后端,而不適用於inline
!
我有幾種情況我忘記更改為%matplotlib qt
(因為它不是python命令,我必須將其分別輸入到控制台中),然后再plt.ioff()
-導致在控制台中發布了10000張圖像,凍結我的機器。
好的,我想我找到了答案,這要歸功於這個答案。
https://stackoverflow.com/a/46360516/789215
關鍵是用於行get_ipython().run_line_magic('matplotlib', 'inline')
的python命令get_ipython().run_line_magic('matplotlib', 'inline')
。 我創建了一個上下文管理器來包裝我的視頻幀。
from IPython import get_ipython
class NoPlots:
def __enter__(self):
get_ipython().run_line_magic('matplotlib', 'qt')
plt.ioff()
def __exit__(self, type, value, traceback):
get_ipython().run_line_magic('matplotlib', 'inline')
plt.ion()
還是有更好的方法?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.