问题描述
我一直在尝试绘制CSV流(过去几周-由于对Python和编程的了解有限)。
以前,我曾问过一个问题here,但很幸运,我收到了答案,但是我意识到,使用matplotlib(用于循环)会产生非常慢的fps。 这是当前代码:
def follow(thefile):
thefile.seek(0,2) #file handling on the data stream
while True:
line = thefile.readline()
if not line:
time.sleep(0.1)
continue
yield line
logfile = open("C:/Users/r/Desktop/BL/wed10.csv","r")
logrecords = []
Nmax = 2
fig,ax = plt.subplots()
dataSet = []
tstart= time.time()
for record in follow(logfile):
logrecords.append(record)
try:
values = [float(value) if value else 0.0 for value in record.split(',')]
values2 = [val2 if val2<1.0 else 0.0 for val2 in values]
except ValueError:
continue # read another record
ax.plot(values2,color='black',label="%02d'%.2fs"%divmod(time.time()%3600,60))
plt.legend()
if len(ax.lines) == Nmax : ax.lines[0].remove()
plt.pause(0.00001)
它可以工作,但是非常慢。我正在考虑改用FuncAnimation/ArtistAnimation
,但不确定如何将其与流csv结合使用。
我想绘制每行(每行1个图)并设置动画到另一行。
如何将“ for循环绘图”修改为FuncAnimation或ArtistAnimation? 谢谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)