如何按顺序刷新IPython Notebook中的图?

时间:2015-12-04 17:11:10

标签: python ipython-notebook

for i in range(3):
   print("Info ",i)
   plt.figure()
   plt.plot(np.arange(10)*(i+1))

在IPython笔记本中,这将首先打印出三条信息消息,然后绘制三个数字。

我可以使用哪个命令强制执行打印和绘图的顺序显示?也就是说,打印&#34;信息0&#34;,绘图&#34;图0&#34;,打印&#34;信息1&#34;,绘图&#34;图1&#34;等< / p>

这是一个简单的简单示例。在我看来,情况要复杂得多,而且正确行事非常重要。

2 个答案:

答案 0 :(得分:4)

只需在所需位置添加plt.show()即可。

%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np

for i in range(3):
    print "Info ",i
    plt.plot(np.arange(10)*(i+1))
    plt.show()

答案 1 :(得分:0)

IPython首先评估您单元格中的所有代码。完成后,将打开的数字绘制到输出区域。

如果这不是您想要的,您可以手动显示您的数字。但是,在评估单元格结束之前,您必须确保关闭所有新创建的图形对象。

这是一个简短的例子:

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

for i in range(3):
    print("Info ",i)
    fig, ax = plt.subplots()
    ax.plot(np.arange(10)*(i+1))
    display(fig)
    plt.close()