【问题标题】:How to hide <matplotlib.lines.Line2D> in IPython notebook如何在 IPython 笔记本中隐藏 <matplotlib.lines.Line2D>
【发布时间】: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;

【问题讨论】:

标签: python matplotlib plot ipython ipython-notebook


【解决方案1】:

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

plt.plot(I,'o');

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

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

_ = plt.plot(a)

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

【讨论】:

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

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

【讨论】:

    【解决方案3】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-21
      • 1970-01-01
      • 2018-09-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多