如何在IPython笔记本中连续显示一张表,后面跟着一个数字,而不在最后显示重复的数字?

如何在IPython笔记本中连续显示一张表,后面跟着一个数字,而不在最后显示重复的数字?,python,matplotlib,ipython,ipython-notebook,Python,Matplotlib,Ipython,Ipython Notebook,例如,我想打印10个随机数,然后在打印的随机数下面绘制并显示一个图形,我想这样做3次: import matplotlib.pyplot as plt import numpy as np from IPython import display for _ in range(3): x = np.random.randn(10) print(x) fig = plt.figure() ax = fig.add_subplot(111) ax.plot(x

例如,我想打印10个随机数,然后在打印的随机数下面绘制并显示一个图形,我想这样做3次:

import matplotlib.pyplot as plt
import numpy as np
from IPython import display

for _ in range(3):
    x = np.random.randn(10)
    print(x)
    fig = plt.figure()
    ax = fig.add_subplot(111)
    ax.plot(x, x + 5, 'x')
    display.display(plt.gcf())

在输出结束时,这3个图形将一个接一个地再次显示。有没有办法不在最后重复这些操作?

这个解决方案应该有效

import matplotlib.pyplot as plt
import numpy as np
from IPython import display
%matplotlib inline

for _ in range(3):
    x = np.random.randn(10)
    print(x)
    fig = plt.figure()
    ax = fig.add_subplot(111)
    ax.plot(x, x + 5, 'x')
    display.display(plt.gcf())
    plt.close()

由于此单元格执行结束时没有打开的图形,因此不会生成其他绘图。

即使此代码解决了您的问题,我建议不要立即接受它。也许ipython的人有一个更好的解决方案:)你甚至可以在调用
display.display..
之后调用
plt.close()
。这样,您就不需要额外的循环和pylabtools导入