我的txt。该文件具有以下形式的300个读数:(time / reading1 / reading2)
26.6.2018/12:02 20 71
26.6.2018/12:03 21 43
26.6.2018/12:04 21 65
26.6.2018/12:05 19 68
26.6.2018/12:06 20 55
我目前正在使用matplotlib进行绘制,时间在X轴上,值在Y轴上。
我想绘制这些数据而无需在图表上有太多读数。当读数介于某个特定值之间时,我想每3小时绘制一次数据,当读数低于/高于给定值时,则每3分钟绘制一次数据。
我的解决方案是检查读数,如果读数不超过阈值=每3小时打印一次。
如果它们超过阈值=每3分钟打印一次。
但是我对实现这一目标几乎一无所知。
这是我的代码:
def landingpage(request):
with open('C:\Email\mail10.txt') as f:
lines = f.readlines()
dates = [str(line.split()[0]) for line in lines] # Time as string
y = [float(line.split()[1]) for line in lines] # Temperature data
z = [float(line.split()[2]) for line in lines] # Humidity data
date = [datetime.strptime(x,'%d.%m.%Y/%H:%M') for x in dates] # Converts time strings into datetime format
plt.subplot(2,1,1)
plt.title('Temperature & Humidity', fontsize=15)
plt.ylabel('Temperature' + u'\u2103', fontsize=15)
plt.plot_date(date, y, 'r-')
plt.subplot(2,1,2)
plt.plot_date(date, z, 'b-')
plt.xlabel('Time', fontsize=15)
plt.ylabel('Humidity RH' + u'\u0025', fontsize=15)
plt.xticks(size = 10)
plt.yticks(size = 10)
# Print as HTML
return Response(
mpld3.show()
)
谢谢!