2017-08-04 132 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

該輸出occures因爲Jupyter自動打印在細胞中的最後一個對象的表示。在這種情況下,輸入單元#1的最後一行確實有一個對象。這是.set_title(...)的呼叫的返回值,這是.Text類型的一個實例。此實例返回到筆記本的全局名稱空間並因此被打印。

爲了避免這種情況,你可以像在評論中提出,抑制輸出通過附加一個分號到該行的末尾:

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

另一種方法將分配Text到的變量istead將其返回給筆記本。因此,

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

解決了這個問題。

相關問題