绘制日期和数据连续matplotlib

时间:2016-09-04 19:51:38

标签: python matplotlib plot

我编写了以下代码来收集文件中的数据,对其进行时间戳并绘制它。我有以下工作代码:

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()

现在发生的是,图表会显示,我必须关闭图表窗口,以便下一组数据显示在图表上。

我想进一步扩展这一点,其中我的绘图在读取文件并为其加时间戳后不断绘制数据。

提前致谢。

1 个答案:

答案 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()