2017-08-04 8 views
0

私はIPython/Jupyterノートブックの中に簡単なプロットを作成すると、おそらくmatplotlibの標準出力から生成された出力が出力されます。たとえば、以下の単純なスクリプトを実行すると、ノートブックは<matplotlib.text.Text at 0x115ae9850>のような行を表示します。Python/Jupyterノートブックでmatplotlibの出力を省略するにはどうすればいいですか?

import random 
import pandas as pd 
%matplotlib inline 

A = [random.gauss(10, 5) for i in range(20) ] 
df = pd.DataFrame({ 'A': A}) 
axis = df.A.hist() 
axis.set_title('Histogram', size=20) 

あなたは下の図でわかるように、出力は私がprint何もなかったにもかかわらず、表示されます。その行を削除または防止するにはどうすればよいですか?

Jupyter notebook output

+2

コマンドの後ろにセミコロン( ';')を付けますか? –

答えて

2

Jupyterが自動的にセル内の最後のオブジェクトの表現を印刷するので、この出力はoccures。この場合、実際に入力セル#1の最後の行にオブジェクトがあります。これは、.Textのインスタンスである.set_title(...)への呼び出しの戻り値です。このインスタンスは、ノートブックのグローバル名前空間に戻され、したがって印刷されます。この動作を回避するために

、あなたがすることができ、コメントで示唆されているように、行の最後にセミコロンを追加することにより、出力を抑制:

axis.set_title('Histogram', size=20); 

他のアプローチは、可変isteadにTextを割り当てますそれをノートブックに戻します。したがって、

my_text = axis.set_title('Histogram', size=20) 

も同様に問題を引き起こします。