实时绘制串行端口数据时,drawow问题

时间:2019-07-16 08:42:10

标签: python arduino drawnow

我按照一些教程从连接到Arduino的串行中实时绘制数据。我使用Drawingow模块和matplotlib这样做,并且我应该有一个唯一的绘图,其中数据在每个循环处附加。取而代之的是,我每次都会得到一个新的数字。

我认为这是drawow模块安装的问题,但是在重新安装一切之后,我遇到了同样的问题。我正在使用Windows 10,并且尝试使用python 2和python 3编写代码。我正在Spyder 3中运行代码,这是我得到绘图流的地方。如果我尝试在Jupyter上运行我的代码,它什么也没做

import serial 
import matplotlib.pyplot as plt
from drawnow import drawnow

timef = []
tempf = []

set = serial.Serial('COM10', 115200, timeout=1)
plt.ion() #dire que l'on va ploter en live 


def liveploting(): # Fonction pour tracer les données / plot data 
    plt.plot(tempf)


while True : # While loop that loops forever 
    while (set.inWaiting()==0): #wait until there is data
        pass # ne rien faire 
    arduinoString = set.readline()
    dataArray = arduinoString.decode().split(",")
    time = float(dataArray[0])
    temp = float(dataArray[1])
    timef.append(time) # on écrit les données lues par time dans timef / write values to time vector
    tempf.append(temp)
    drawnow (liveploting,show_once=True)

这就是我得到的:

Screenshot

0 个答案:

没有答案