如何在IPython笔记本中隐藏<matplotlib.lines.Line2D>

ROB*_*WNS 48 python plot matplotlib ipython ipython-notebook

我正在I使用%matplotlibplot命令在内联模式下使用IPython笔记本绘制NumPy值的数组plt.plot(I,'o').

结果输出是:

<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>,
 ....
 ....
]
Run Code Online (Sandbox Code Playgroud)

然后我的情节显示在这些输出线下方.

有没有办法只显示情节并隐藏<matplotlib.lines.Line2D at ...>输出?

Ale*_*ley 81

您可以使用分号;来结束该行.这会在生成绘图时抑制不需要的输出:

plt.plot(I,'o');
Run Code Online (Sandbox Code Playgroud)

通常,使用分号会阻止IPython打印代码块的该行的任何输出值.例如,执行包含代码的单元格1+1;将不会输出2.

另一种方法是将变量绑定到绘图:

_ = plt.plot(a)
Run Code Online (Sandbox Code Playgroud)

这样,IPython只显示绘图,名称_绑定到不需要的输出.

  • 它们也可以存储到一个变量中,我认为它不会打印到工作簿中。 (3认同)

kur*_*sis 14

另一种方法是plt.show()在绘图代码的末尾写字.如果您在单个子图上生成许多子图和/或绘制多个图,则输入的符号将更少.