web-dev-qa-db-ja.com

Jupyterノートブックにプロットが表示されないようにする

Jupyterノートブックに特定のプロットが表示されるのを防ぐにはどうすればよいですか?ノートブックにはいくつかのプロットがありますが、それらのサブセットをファイルに保存し、ノートブックに表示しないようにします。

Jupyterノートブックの最小限の作業例は次のとおりです。

%matplotlib inline 
from numpy.random import randn
from matplotlib.pyplot import plot, figure
a=randn(3)
b=randn(3)
for i in range(10):
    fig=figure()
    plot(b)
    fname='s%03d.png'%i
    fig.savefig(fname)
    if(i%5==0):
        figure()
        plot(a)

ご覧のとおり、aとbの2種類のプロットがあります。 aをプロットして表示したいのですが、bプロットを表示したくないので、それらをファイルに保存したいだけです。うまくいけば、これによって物事が少しスピードアップし、私が見る必要のない数字でノートブックを汚すことはありません。

お時間をありがとう

48
gota

おそらく、軸をクリアするだけです。例えば:

fig= plt.figure()
plt.plot(range(10))
fig.savefig("save_file_name.pdf")
plt.close()

inlineモードでは出力をプロットしません。本当にデータをクリアしているのかどうかはわかりません。

53
Greg

関数を使用してインタラクティブモードをオフにすることで、フィギュアが表示されないようにすることができました。

plt.ioff()

26
Dr.PP

Jupyter Notebookセルからの出力を防ぐには、次のコマンドでセルを開始します。

%%capture

これは、ここに示されている他のすべての方法が失敗する場合に便利です。

私は初心者ですが、ノートブックの出力を表示したくない場合はインラインモードをオフにしてください:

%matplotlib auto

または:

%matplotlib

使用するには:

%matplotlib inline

より良い解決策は以下を使用することです:

plt.ioff()

インラインモードがオフになっています。

それが役に立てば幸い。

5
Deepak Joshi

IPython 6.0以降では、インライン出力を(一時的または永続的に)オフにする別のオプションがあります。これは導入されました このプルリクエストで

「agg」バックエンドを使用して、インライン出力を表示しません。

%matplotlib agg

ただし、最初にインラインバックエンドをアクティブにした場合、これを有効にするには2回呼び出す必要があります。

%matplotlib agg
%matplotlib agg

これが実際の動作です