我想实时绘制python文件的输出

时间:2014-02-28 11:09:37

标签: matplotlib

我有一个代码,它给了我一个输出。部分代码如下。我试图绘制输出" xin" vs" tstep"实时。代码可以工作,但每次都在新窗口中绘制xin并且非常慢。请建议我更快地绘制它并在一个图中绘制数据。

    tstep=1
    fig=plt.figure()
    plt.axis([-300,400,600,0])
    x=list()
    y=list()
    plt.ion()
    plt.show()
    while tstep<tend+1:
        tval=tstep
        phase=0
        if xin<intfxpos[0]+tan(intfang[0])*t*(tstep-1):    
            phase=1
            acount=acount+1
        else:
            bcount=bcount+1
        x.append(xin)
        y.append(tstep-1)
        plt.scatter((xin),(tstep-1))
        #tstep=tend+1
        plt.draw()
        time.sleep(0.05)
        plt.pause(0.0005)

1 个答案:

答案 0 :(得分:1)

此主题似乎与this one非常相似。您发布的代码似乎来自其中一个答案,并且不会在每次抽奖时为我打开新窗口。

您可以使用matplotlib's animation API更接近实时绘图。同样在该线​​程中是动画API的一个例子,具有非常高的FPS。您必须在阅读fig.show()行之后添加fig,ax = subplots(1,1),然后在函数定义之外的最底部调用run()