使用从TCP连接python接收的值更新绘图

时间:2015-11-18 18:09:54

标签: python dynamic plot winsock2

我想问一下是否可以动态更新/绘制python中的绘图。我的程序假设从IMU传感器捕获数据 - 这是在c ++(客户端)中完成的。在python中,我正在接收捕获的数据(服务器)。现在我想以图形方式表示这些数据。连接工作正常Iam从c ++发送数据。我尝试使用代码,但它不起作用主要是因为我永远调用plt.show()。这可能吗 ??这是我的代码

from socket import *
from time import ctime
import matplotlib.pyplot as plt

HOST = 'localhost'
PORT=1024
BUFFSIZE=1024
ADDR = (HOST,PORT)

tcpTimeSrvrSock = socket(AF_INET,SOCK_STREAM)
tcpTimeSrvrSock.bind(ADDR)
tcpTimeSrvrSock.listen(50)

while True:

    print 'waiting for connction'
    tcpTimeClientSock, addr = tcpTimeSrvrSock.accept()
    print 'connected from:', addr

    while True:
        data =tcpTimeClientSock.recv (BUFFSIZE)
    if not data:
        print 'no data'
        break


    x =float(data[0 : data.find('?')])//data received from client c++
    data=data[data.find('?')+1:]
    y=float(data[0 : data.find('£')])
    data=data[data.find('£')+1:]
    z=float(data[0 : data.find('$')])
    data=data[data.find('$')+1:]
    frame=int(data[0 : data.find('#')])


    #print data
    #print x
    #print y
    #print z
    #print frame

    tcpTimeClientSock.send('[%s] %s' % (ctime(), data))
    plt.plot(frame,x,'r')
    plt.plot(frame,y,'b')
    plt.plot(frame,z,'g')

    plt.show()


tcpTimeClientSock.close()


tcpTimeSrvrSock.close()

谢谢

0 个答案:

没有答案
相关问题