32

在我在一个程序中调用的最后一个函数结束时,我有以下代码来绘制一个简单的彩色图。

plt.figure()
plt.pcolormesh(X,Y,Z)
plt.colorbar()
plt.show()

之后我回到主程序,我的程序就完成了。该图按预期显示,但是当我使用角落中的 x 按钮(在 ubuntu 上)关闭它时,我的程序并没有结束。它只是挂在那里,有一个进程正在运行。我该如何纠正?

4

2 回答 2

30

由于某种原因,您的 matplotlib 可能在非交互模式下运行。我不确定如何在您的本地配置中防止这种情况,但如果您添加以下任何一项:

plt.ion()

或这个:

matplotlib.interactive(True)

在脚本开头的某个地方,它应该会改变绘图的行为。

于 2015-01-15T12:52:18.143 回答
4

对于交互模式,您需要在文件头部使用:

import matplotlib
matplotlib.use("TkAgg")
于 2018-01-14T15:09:46.007 回答