web-dev-qa-db-ja.com

IPythonノートブックで<matplotlib.lines.Line2D>を非表示にする方法

プロットコマンドplt.plot(I,'o')%matplotlibインラインモードでIPythonノートブックを使用して、NumPy値の配列Iをプロットしています。

結果の出力は次のとおりです。

<matplotlib.figure.Figure at 0x119e6ead0>
Out[159]:
[<matplotlib.lines.Line2D at 0x11ac57090>,
 <matplotlib.lines.Line2D at 0x11ac57310>,
 <matplotlib.lines.Line2D at 0x11ac57510>,
 <matplotlib.lines.Line2D at 0x11ac57690>,
 <matplotlib.lines.Line2D at 0x11ac57810>,
 <matplotlib.lines.Line2D at 0x11ac57990>,
 <matplotlib.lines.Line2D at 0x11ac57b10>,
 ....
 ....
]

次に、これらの出力行の下にプロットが表示されます。

プロットを表示し、<matplotlib.lines.Line2D at ...>を出力から非表示にする方法はありますか?

46
ROBOTPWNS

セミコロン;を使用して、行を終了できます。これにより、プロットを生成する際の不要な出力が抑制されます。

plt.plot(I,'o');

一般的に、セミコロンを使用すると、IPythonはコードブロックのその行からの出力値を出力しなくなります。たとえば、コード1+1;を含むセルを実行しても、2は出力されません。

別の方法は、変数をプロットにバインドすることです。

_ = plt.plot(a)

このようにして、IPythonはプロットのみを表示し、_という名前が不要な出力にバインドされます。

79
Alex Riley

別の方法は、描画コードの最後にplt.show()を書くことです。多くのサブプロットを生成したり、単一のサブプロットに多くのプロットを描画したりする場合、入力するシンボルが少なくなります。

13
kurtosis