matplotlib内联在所有文本之后绘制所有图形

uns*_*ted 5 ipython jupyter jupyter-notebook

在jupyter笔记本电脑中,%matplotlib inline启用该功能后,既打印文本又绘制图形的单元格输出将使整个文本显示在图形显示之前。即使在打印文本之前生成图形(并在其上调用show()),也会发生这种情况。

例如:

fig = plt.figure()
fig.add_subplot(111)
fig.show()
print "hello"
Run Code Online (Sandbox Code Playgroud)

将在空白图形之前显示“ hello”。

我该如何解决这个问题,以使每个图形真正内联?

min*_*nrk 6

我想你想明确display的数字,使用 IPython 的显示功能:

from IPython.display import display

fig = plt.figure()
fig.add_subplot(111)
display(fig)
print("hello")
Run Code Online (Sandbox Code Playgroud)

  • 那行得通,但需要注意的是,您必须在最后添加 `plt.close()` 以使其不会第二次打印图形。谢谢! (4认同)