首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我的情节在ipython模式退出时不消失?

为什么我的情节在ipython模式退出时不消失?
EN

Stack Overflow用户
提问于 2016-10-18 09:33:11
回答 2查看 493关注 0票数 0

我在matplotlib提示符中显示了一些使用ipython的绘图。当关闭绘图窗口时,它不会消失,而是在后台“卡住”,并且不会响应用户的操作。您可以自己使用以下代码进行测试:

代码语言:javascript
复制
# test.py
import matplotlib.pyplot as plt

def f(): 
    plt.plot([1, 2, 3], [4, 3, 5])
    plt.show()

在迅速的

代码语言:javascript
复制
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提示符运行相同的代码会像预期的那样工作。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-10-19 10:50:56

在绘图之前尝试运行%matplotlib,这样IPython就可以与显示情节的GUI事件循环集成。

在matplotlib 2.0发布后,这不应该是必需的,因为它在IPython中运行时有一些代码要检测。

票数 0
EN

Stack Overflow用户

发布于 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()!否则,图形将显示,然后立即关闭!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40104587

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档