在 Spyder 中,使用 Matplotlib 和交互式缩放等进行绘图

In Spyder, plot using Matplotlib with interactive zoom, etc

我最近从 Enthought Canopy 切换到 Anaconda,并且正在使用 Spyder IDE。我注意到当我绘制一些数据时,

import matplotlib.pyplot as plt
plt.figure()
plt.plot(rigs2)
plt.ion()
plt.show()

它在 IPython 控制台中显示为内联图形:

然而,在 Enthought 中,情节通常会显示在单独的 window 中,带有缩放、后退和前进按钮。有什么方法可以在 Spyder 中实现同样的效果吗?

Select 从菜单 Tools > Preferences,然后是左侧类别列表中的 IPython console,然后是顶部的选项卡 Graphics,然后更改 Graphics backendInline 到例如Qt.
不过对我来说,数字总是在背景中弹出。
(我使用与 WinPython 3.4 捆绑在一起的 Spyder 3.0.0dev。)

记得重启内核,然后就可以了。

您可能不需要重新启动 spyder。只需转到工具菜单并重新启动内核即可。然后你应该显示情节。拜托,这是在您必须为图形设置适当的首选项之后

尽管这是一个老问题,但我在不使用 GUI 的情况下解决了同样的问题。

仅在控制台中绘制:

%matplotlib inline 
plt.plot([1, 2, 3, 4])
plt.ylabel('some numbers')

回到控制台外绘图:

%matplotlib qt5
plt.plot([1, 2, 3, 4])
plt.ylabel('some numbers')

无需重新启动我的 spyder 或内核。 会话信息:

spyder 3.3.2
python 3.6.8
windows 10.