我有一个长时间运行的Python循环(用于机器学习),它定期打印输出并显示图形(使用matplotlib)。在Jupyter笔记本中运行时,所有文本(stdout)都是实时显示的,但是数字都是排队的,直到整个循环完成后才会显示。在
我希望在循环的每次迭代中都能看到实时的图形。在单元执行期间,而不是在整个单元执行完成时。在
例如,如果我的代码是:
for i in range(10):
print(i)
show_figure(FIG_i)
do_a_10_second_calculation()
我目前看到:
^{pr2}$我想要的是:
0
FIG_0
1
FIG_1
2
FIG_2
...
最重要的是,我希望看到计算出来的数字,而不是在整个循环完成之前不在屏幕上看到任何数字。在
来自^{} 的
display
函数可用于立即刷新图形到单元格的输出。假设代码中的FIG_i
是一个实际的Matplotlib figure对象,您只需将show_figure(FIG_i)
替换为display(FIG_i)
,图形将实时输出。在下面是
display
实际操作的完整示例:以下是输出的屏幕截图:
我想问题不在这里。因为它应该像预期的那样工作。使它可以运行
结果达到预期效果
{a1}
相关问题 更多 >
编程相关推荐