【问题标题】:sequential ploting (e.g. real time data plot)顺序绘图(例如实时数据绘图)
【发布时间】:2015-09-17 23:21:05
【问题描述】:

我正在尝试绘制一个简单的顺序数据流(即一个时间相关变量),但我无法获得任何输出。因此,我尝试了为stackoverflow中的实时绘图提出的不同“解决方案”......但我得到的只是根本没有绘图。 我查看了关于动画的食谱 (http://wiki.scipy.org/Cookbook/Matplotlib/Animations) 并尝试了其中一个给定的示例,转载如下:

from pylab import *
import time

ion()

tstart = time.time()               # for profiling
x = arange(0,2*pi,0.01)            # x-array
line, = plot(x,sin(x))
for i in arange(1,200):
    line.set_ydata(sin(x+i/10.0))  # update the data
    draw()                         # redraw the canvas

print 'FPS:' , 200/(time.time()-tstart)

再一次,我没有得到图形输出……只有最终打印。 有人能告诉我为什么所有的示例都应该有效,但实际上都无效吗?

【问题讨论】:

    标签: python matplotlib plot


    【解决方案1】:

    这适用于 iPython notebook (python 2.7)。

    也许您想确保 pylab 的后端设置未设置为内联?

    [您可能需要重新启动内核才能使更改生效]

    另一种可能性是,您的进程仍在运行之前的尝试。

    【讨论】:

    • 有趣。所以这对你有用。我在 linux fedora 17 下使用 Spyder 2.1.13 和 python 2.7.3 64 位。确保“pylab 的后端设置未设置为内联”是什么意思?我该如何检查这个。无论如何感谢您的回复。
    • 在 iPython notebook 中,您设置了 '%pylab' 而不是 '%pylab inline'(必须重新启动内核) - 在您的 IDE 中,应该有一个方便的菜单供您执​​行此操作。跨度>
    • 确实可能是后端有问题。但是,在列出所有后端(使用 plt.get_backend())之后,我尝试了所有可用的后端(例如命令 switch_backend('CocoaAgg'))。但这并没有改变任何东西。我还尝试杀死所有与 python 和 spyder 相关的进程,并重新启动所有进程(以确保没有旧进程仍在运行),但它也无济于事。如果我使用 plt.show(),小注释* 绘图工作正常......但我不能实时做任何事情......
    • 我启动了 spyder(以前从未使用过它,也许我应该使用它,它看起来不错);标题中有一个首选项菜单(看起来像一个工具箱);它会打开一个弹出窗口,您可以在其中选择 iPython、图形或显示“也许您可以玩这个,看看是否可以让它工作?抱歉,我无法提供更多帮助。
    猜你喜欢
    • 2013-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-22
    • 2013-07-30
    • 2015-11-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多