如何按顺序刷新 IPython Notebook 中的绘图?
How to flush plots in IPython Notebook sequentially?
for i in range(3):
print("Info ",i)
plt.figure()
plt.plot(np.arange(10)*(i+1))
在IPython笔记本中,这将首先打印出三个信息消息,然后绘制三个数字。
我可以使用哪个命令强制打印和绘图的顺序显示?即print"Info 0"、plot"Figure 0"、print"Info 1"、plot"Figure 1"等
这是一个简单的基本示例。在我的例子中,它要复杂得多,正确地获得行为很重要。
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()
只需在所需位置添加 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()
for i in range(3):
print("Info ",i)
plt.figure()
plt.plot(np.arange(10)*(i+1))
在IPython笔记本中,这将首先打印出三个信息消息,然后绘制三个数字。
我可以使用哪个命令强制打印和绘图的顺序显示?即print"Info 0"、plot"Figure 0"、print"Info 1"、plot"Figure 1"等
这是一个简单的基本示例。在我的例子中,它要复杂得多,正确地获得行为很重要。
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()
只需在所需位置添加 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()