2017-07-27 29 views
0

如果我註釋掉'%matplotlib inline',代碼運行正常 但是,如果我將'%matplotlib inline'取消註釋,'fig,axes = plt.subplots(nrows = x_p ,ncols = y_p)'開始創建空白圖,下面的代碼觸發錯誤如下。任何想法爲什麼?'%matplotlib inline'在以下代碼中導致錯誤

enter image description here

enter image description here

enter image description here

回答

1

默認情況下,數據是在小區的端部封閉。這意味着pyplot(plt)忘記了在下一個單元格中工作的軸。

%config InlineBackend 

告訴我們:

InlineBackend.close_figures = <Bool>
電流:
關閉所有在每個單元的末尾數字。
確實確保每個單元格開始時沒有活動圖形,但它也是 意味着必須跟蹤引用以便在後續單元格中編輯或重繪數字。該模式適用於筆記本電腦,其中 來自其他單元格的殘留圖可能會令人驚訝。
,必須調用figure()來創建新的數字。這意味着 gcf()和getfigs()可以引用在其他單元格中創建的圖形,並且 活動圖形可以繼續使用引用當前活動圖形的pylab/pyplot方法進行編輯。

的解決方案是這樣來設置.close_figures爲False:

爲了防止活性附圖的自動輸出在電池的端部,可以再設置plt.ioff()

import matplotlib.pyplot as plt 

%matplotlib inline 
%config InlineBackend.close_figures=False 
plt.ioff() 

fig, axes = plt.subplots(ncols=2) 

enter image description here

+0

感謝詳細的解釋! – user1269298