实时绘制串行端口d时drawnow出现问题

2024-06-28 01:58:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我遵循一些教程,以现场绘图数据从我的串行连接到Arduino。我使用Drawnow模块和matplotlib来实现这一点,我应该有一个唯一的绘图,在每个循环中附加数据。相反,我每次都得到一个新的数字。你知道吗

我原以为drawnow模块的安装有问题,但在重新安装所有东西之后,我也遇到了同样的问题。我使用的是windows10,我尝试了python2和python3的代码。我在spyder3ann里运行代码,这是我得到情节流的地方。如果我试着在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


Tags: 模块数据代码import绘图timematplotlibon