13

我正在尝试从 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")
4

2 回答 2

17

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

于 2012-05-23T17:04:24.450 回答
1

就我而言,这些是 spyder 中的默认设置,但是在我输入以下内容之前它仍然没有显示绘图:%matplotlib inline

不确定这是否有帮助,但想在这里分享。

于 2016-09-23T23:47:13.983 回答