当我在IPython / Jupyter笔记本中制作一个简单的绘图时,会有打印输出,可能是从matplotlib标准输出生成的。例如,如果我运行下面的简单脚本,笔记本将打印如下行:<matplotlib.text.Text at 0x115ae9850>
。
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
任何内容,也会显示输出。如何删除或阻止该行?
答案 0 :(得分:7)
此输出发生,因为Jupyter会自动打印单元格中最后一个对象的表示。在这种情况下,确实在输入单元#1的最后一行中有一个对象。这是对.set_title(...)
的调用的返回值,.Text
是axis.set_title('Histogram', size=20);
类型的实例。此实例将返回到笔记本的全局命名空间,从而进行打印。
要避免此行为,您可以按照注释中的建议,通过在行尾添加分号来抑制输出:
Text
另一种方法是将my_text = axis.set_title('Histogram', size=20)
分配给变量,而不是将其返回给笔记本。因此,
{{1}}
也解决了这个问题。