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

Posted

技术标签:

【中文标题】如何在 IPython 笔记本中隐藏 <matplotlib.lines.Line2D>【英文标题】:How to hide <matplotlib.lines.Line2D> in IPython notebook 【发布时间】:2014-11-05 13:22:04 【问题描述】:

我正在绘制一个 NumPy 值数组 I,在 %matplotlib 内联模式下使用 IPython 笔记本和绘图命令 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>,
 ....
 ....
]

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

有没有办法只显示绘图并从输出中隐藏&lt;matplotlib.lines.Line2D at ...&gt;

【问题讨论】:

Disable the output of matplotlib pyplot的可能重复 【参考方案1】:

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

plt.plot(I,'o');

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

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

_ = plt.plot(a)

这样,IPython 只向您显示绘图,并且名称 _ 绑定到不需要的输出。

【讨论】:

它们也可以存储到一个变量中,我认为它不会打印到工作簿中。 @will - 谢谢,已编辑以包含您的建议。【参考方案2】:

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

【讨论】:

【参考方案3】:

老问题... 好吧,我更喜欢在最后一行使用pass

不像;那么小,但是,恕我直言,更清晰,更短。

【讨论】:

以上是关于如何在 IPython 笔记本中隐藏 <matplotlib.lines.Line2D>的主要内容,如果未能解决你的问题,请参考以下文章

如何在 ipython 笔记本中显示 PIL 图像

如何在 IPython 笔记本中打开交互式 matplotlib 窗口?

如何在 jupyter/ipython 笔记本中启用 MathJax Upgreek?

如何在 IPython 笔记本的 pandas DataFrame 列中左对齐文本

如何在 Markdown 单元格 ipython/jupyter 笔记本中更改颜色?

如何将文本文件 (.py) 加载/编辑/运行/保存到 IPython 笔记本单元格中?