我在Windows 7中从Python(x,y)2.7.2.3升级到2.7.6.0(很高兴看到我最终可以输入function_name?
并再次查看Object Inspector中的docstring)但现在绘图不像以前那样有效。
以前(Spyder 2.1.9,IPython 0.10.2,matplotlib 1.2.1),例如,当我绘制this script时,它会在交互式窗口中并排绘制子图:
现在(Spyder 2.2.5,IPython 1.2.0,Matplotlib 1.3.1)当我尝试绘制事物时,它将子图作为微小的内联PNG,这是一个change in IPython:
所以我进入选项并发现了这个:
这似乎说我可以将旧的交互式图重新打开,并且4个子图并排显示,但是当我切换到“自动”并尝试绘制某些内容时,它什么也没做。根本没有阴谋。
如果我将此下拉列表切换为Qt,或取消选中“激活支持”,则仅绘制第一个子图或部分子图,然后停止:
如何在一个可以与之交互的图中获得4个并排子图的旧行为?
答案 0 :(得分:111)
将后端更改为自动:
工具>偏好> IPython控制台>图形>图形后端>后端:自动
然后关闭并打开Spyder。
答案 1 :(得分:35)
您可以通过在Spyder的IPython控制台中输入built-in magic commands来快速控制,我发现这比从偏好设置菜单中选择这些更快。更改立即生效,无需重新启动Spyder或内核。
切换到"自动" (即交互式)图,键入:
%matplotlib auto
然后,如果您想切换回"内联",请输入:
%matplotlib inline
(注意:这些命令不适用于非IPython控制台)
答案 2 :(得分:5)
正如评论中所说,问题在于你的脚本。实际上,有两个问题:
None
。也许是由于defaultdict?show()
。应在脚本结束时调用show()
一次。另一种方法是使用交互模式,在matplotlib的文档中查找ion
。答案 3 :(得分:5)
答案 4 :(得分:2)
这实际上很容易解决,并且不需要任何编码:
1。单击控制台上方的“绘图”选项卡。 2.然后在绘图屏幕的右上角单击选项按钮。 3.最后取消选中“静音在线绘图”按钮
现在重新运行脚本,图形将显示在控制台中。
干杯。
答案 5 :(得分:-2)
对于大多数数学编码,我使用这个网站及其服务,因为他们为每个主题提供示例,他们的支持非常有帮助:
https://labdeck.com/application-examples-screenshots/
如果您希望图形以可变数量变化,那么您要使用的代码是
import matplotlib.pyplot as plt
import time
vec1=[1, 2, 3, 4, 5]
vec2py=[10, 12, 9, 11, 13]
plt.show()
axes = plt.gca()
axes.set_xlim(0, 6)
axes.set_ylim(5, 50)
plt.xlabel('x - axis')
plt.ylabel('y - axis')
plt.title('Example 1')
plt.grid()
line,= axes.plot(vec1,vec2py,color='red',lw=1)
for x in range(0,10):
vec2py = [x + 2 for x in vec2py]
line.set_ydata(vec2py)
plt.draw()
plt.pause(1e-17)
time.sleep(0.5)
plt.show()
您必须更改 x 以表示您想要的图形迭代次数以及您希望它运行多长时间,以及 vec2py 行中的 +2 表示您想要更改它的变量数量。当然,代码是一个模板,您可以进行任何美学上的更改。此代码文件位于上面链接中python编程下的显示动态图下。
如果你想显示一个来源的信息的持续依赖,我不知道如何做到这一点,但之前提到的网站确实有一个例子,但它不是在 python 中,而是在一个简化的形式C++。如果你确实想看到它,那么链接是 https://labdeck.com/examples/dsp-ecg-processing/ecg-9-leads-graphs.pdf?01a96f&01a96f 并且它在 ECG 下的 ECG 9 导联图在开头的链接上。 图形可以在文档中显示,也可以独立于文档显示。
PS 这适用于有相同问题但不一定相同场景的人,因为我认为这会帮助更多。