我编写了以下代码来收集文件中的数据,对其进行时间戳并绘制它。我有以下工作代码:
temp_data=0
x=[datetime.now() + timedelta(hours=-i) for i in range(5)]
y=[temp_data+i for i in range(len(x))]
while True:
f=open("/sys/class/thermal/thermal_zone0/temp", "r")
#timestamp the data
temp_time=datetime.now()
#read the data in the file to a variable and divide by 1000 to get correct value
temp_data=int(f.readlines()[0].strip())/1000
x=x[1:]
x.append(temp_time)
y=y[1:]
y.append(temp_data)
plt.gcf().autofmt_xdate()
plt.plot(x,y)
plt.show()
sleep(5)
print "Good Bye, Exiting the Program"
#close file after reading
f.close()
现在发生的是,图表会显示,我必须关闭图表窗口,以便下一组数据显示在图表上。
我想进一步扩展这一点,其中我的绘图在读取文件并为其加时间戳后不断绘制数据。
提前致谢。
答案 0 :(得分:1)
你可以打开一个数字然后按住它。
temp_data=0
x=[datetime.now() + timedelta(hours=-i) for i in range(5)]
y=[temp_data+i for i in range(len(x))]
plt.figure() ###### Create figure
while True:
f=open("/sys/class/thermal/thermal_zone0/temp", "r")
#timestamp the data
temp_time=datetime.now()
#read the data in the file to a variable and divide by 1000 to get correct value
temp_data=int(f.readlines()[0].strip())/1000
x=x[1:]
x.append(temp_time)
y=y[1:]
y.append(temp_data)
plt.hold(True) ##### Hold it.
plt.gcf().autofmt_xdate()
plt.plot(x,y)
plt.show()
sleep(5)
print "Good Bye, Exiting the Program"
#close file after reading
f.close()