使用matplotlib在Spyder中进行交互式(?)绘图

时间:2012-05-23 05:28:59

标签: python plot interactive figure spyder

我正在尝试从Matlab迁移到Python,并且无法弄清楚如何在Spyder IDE中进行交互式(?)绘图。我的测试代码如下所示。随着.ion()没有任何反应,我快速闪现一个正在绘制的数字然后窗口立即关闭并吐出我的Hello。如果没有.ion(),则会正确绘制图形,但脚本会挂起并且在我手动关闭图形窗口之前不会吐出Hello。我希望脚本像matlab脚本一样运行,并绘制我要求它的各种图形,同时沿着任何计算并将输出放在终端(?)窗口上。

我尝试在ipython中一次输入一行,但它似乎有效,但我宁愿使用脚本表格式,我可以在调整代码的行之间来回切换。

如果有帮助,我在Windows 7中工作。我安装了python(x,y)并从那里启动spyder(spyder版本2.1.9)。我已经看到了一些类似的问题,但我无法解决这个问题。在我看来有人说ipythons最新版本与spyder不兼容,但后来我看到另一篇帖子说不管是否应该支持交互式绘图。谢谢您的帮助!如果有人有替代环境,我可以用它来模仿也可以工作的matlab行为,我是Python的新手。

import matplotlib.pylab as plt
plt.ion()
plt.plot([1,2,3])
plt.show()
plt.ylabel('This is an axis')
print ("Hello")

2 个答案:

答案 0 :(得分:16)

运行配置应设置为在当前Python或IPython解释器中执行,默认情况下允许交互式绘图。如果解释器设置为在新的专用Python解释器中执行,那么必须在执行后与Python解释器交互

答案 1 :(得分:1)

在我的情况下,这些是spyder中的默认设置,但在输入之前它仍然没有显示情节:%matplotlib inline

不确定这是否有用,但想到在这里分享。