How to hide in IPython notebook

2019-01-11 08:41发布

I am plotting a NumPy array of values, I, using IPython notebook in %matplotlib inline mode with the plot command plt.plot(I,'o').

The resulting output is:

<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>,
 ....
 ....
]

Then my plot shows up below these lines of output.

Is there a way to just show the plot and hide the <matplotlib.lines.Line2D at ...> from the output?

2条回答
成全新的幸福
2楼-- · 2019-01-11 09:05

You can use a semi-colon ; to end the line. This suppresses the unwanted output when generating plots:

plt.plot(I,'o');

In general, using a semi-colon stops IPython from printing any output value from that line of a code block. For example, the executing the cell containing the code 1+1; would not output 2.

An alternative way would be to bind a variable to the plot:

_ = plt.plot(a)

This way, IPython only shows you the plots and the name _ is bound to the unwanted output.

查看更多
可以哭但决不认输i
3楼-- · 2019-01-11 09:23

Another way is to just write plt.show() at the end of your drawing code. It would take less symbols to type if you're generating many subplots and/or drawing many plots on a single subplot.

查看更多
登录 后发表回答