【发布时间】:2021-03-23 11:58:20
【问题描述】:
我正在尝试使用 matplotlib 的 FuncAnimation 类绘制实时图形。数据来自 arduino 使用 pyserial 库。我尝试使用以下代码实时绘图,但图表为空,我可以看到轴、刻度等,但看不到绘图。谁能帮助我在这里做错了什么? 提前谢谢你。
from matplotlib import pyplot as plt
from matplotlib.animation import FuncAnimation
import serial
import os
import numpy as np
import datetime
import pandas as pd
fig = plt.figure()
port= 'COM10'
baudrate = 9600
timeout = 2
ser = serial.Serial(port=port, baudrate=baudrate, timeout=timeout)
def animate(i):
j = 0
while True:
try:
loadcells = ser.readline()
loadcells = loadcells.decode('utf-8').rstrip().replace('\t','').split(',')
print(loadcells)
loadcell1 = float(loadcells[0])
# loadcell2 = loadcells[1]
plt.cla()
plt.plot(loadcell1)
plt.pause(0.001)
j+=1
# plt.plot(loadcell2)
except Exception as e:
print(e)
continue
except KeyboardInterrupt as e1:
print(e1)
ser.close()
anim = FuncAnimation(fig, animate,
frames = 200,
interval = 0.1,
blit = False)
plt.tight_layout()
plt.show()
【问题讨论】:
标签: python-3.x matplotlib animation real-time pyserial