我在matplotlib提示符中显示了一些使用ipython的绘图。当关闭绘图窗口时,它不会消失,而是在后台“卡住”,并且不会响应用户的操作。您可以自己使用以下代码进行测试:
# test.py
import matplotlib.pyplot as plt
def f():
plt.plot([1, 2, 3], [4, 3, 5])
plt.show()在迅速的
pingul $ ipython
Python 3.5.2 (default, Jun 27 2016, 03:10:38)
Type "copyright", "credits" or "license" for more information.
IPython 5.1.0 -- An enhanced Interactive Python.
In [1]: import test
In [2]: test.f()
### Trying to close it now doesn't work这是个窃听器,还是我能治好它?
使用普通python提示符运行相同的代码会像预期的那样工作。
发布于 2016-10-19 10:50:56
在绘图之前尝试运行%matplotlib,这样IPython就可以与显示情节的GUI事件循环集成。
在matplotlib 2.0发布后,这不应该是必需的,因为它在IPython中运行时有一些代码要检测。
发布于 2016-10-18 11:06:28
在ipython中使用pyplot时应该谨慎一点。尤其是plt.show()阻塞了ipython终端。您应该使用fig.show(),因为它不会阻止ipython。如果您真的想使用pyplot,一个解决方法是使用plt.gcf().show(),它将得到当前的图形(gcf=get当前的图形),并且只显示这个数字。但是,我建议将图形创建为fig = plt.figure(),然后使用fig.show()。
请注意,如果您使用python运行它,则需要plt.show()!否则,图形将显示,然后立即关闭!
https://stackoverflow.com/questions/40104587
复制相似问题