簡體   English   中英

%matplotlib inline 在 Jupyter Notebook 上不管有沒有它都會給出相同的結果

[英]%matplotlib inline gives the same result with or without it on Jupyter Notebook

所以我經歷了一些關於在 Jupyter Notebook 中使用 %matplotlib inline function 的問題,我明白“%matplotlib inline 將 matplotlib 的后端設置為'inline'后端”和“使用'inline'后端時”您的 matplotlib 圖表將包含在您的筆記本中,位於代碼旁邊”。 但是,無論是否使用“%matplotlib inline”,我的 plot 結果都看不到任何區別。 如果我誤解了什么,有人可以向我解釋一下嗎? 這是我嘗試過的簡單代碼:

使用 %matplotlib 內聯的圖形

%matplotlib inline
import matplotlib as mpl
import matplotlib.pyplot as plt

plt.plot([[0,0],[1,1]], linewidth=4, label='random diagonal')

在下一個代碼中,我剛剛取消了%matplotlib 內聯,它仍然給了我相同的結果。 那么使用或不使用“%matplotlib inline”function 有什么意義呢?

感謝@ImportanceOfBeingErnest,發現問題來自已經設置為內聯的筆記本后端。 運行代碼matplotlib.get_backend()后,您可以看到筆記本中的后端已默認設置為內聯。 我猜這現在在 Anaconda 的 Python 3.7 筆記本中是默認設置的。

這都是關於在筆記本電腦上運行的后端。 您可以使用幾種不同的 output 模式,例如將其打印到筆記本電腦、新的 window 或內聯模式。 此處的用戶根據文檔顯示了幾種不同的工作方式:

要進行此設置,在執行matplotlib的任何繪圖或導入之前,您必須執行%matplotlib magic command 這將執行必要的幕后設置,以使 IPython 與matplotlib一起正常工作; 但是,它實際上並沒有執行任何 Python 導入命令,也就是說,沒有將名稱添加到命名空間。

IPython 提供的一個特別有趣的后端是inline后端。 這僅適用於 Jupyter Notebook 和 Jupyter QtConsole。 可以按如下方式調用:

 %matplotlib inline

有了這個后端,繪圖命令的 output 將在 Jupyter 筆記本等前端內聯顯示,直接在生成它的代碼單元下方。 然后,生成的圖也將存儲在筆記本文檔中。

例如,如果您將命令更改為%matplotlib notebook ,結果應該會改變。 此命令是為了確保它已設置為內聯(如果尚未設置)。

暫無
暫無

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

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