#!/usr/bin/python3
import csv
+from datetime import datetime, date, timedelta
from matplotlib import pyplot as plt
filename = 'log.csv'
21:02:08,5021,657,24
'''
+
+def parsedatetime(timevalue, currentdate):
+ dt = datetime.strptime(timevalue, '%H:%M:%S')
+ return datetime.combine(currentdate, dt.time())
+
with open(filename) as f:
reader = csv.reader(f)
headers = next(reader)
time = []
co2 = []
+ startdate = date(2020, 10, 22)
for row in reader:
- time.append(row[0])
+ dt = parsedatetime(row[0], startdate)
+ if len(time) > 0 and dt - time[-1] < timedelta(hours=-2): # DST switch!
+ startdate += timedelta(days=1)
+ dt += timedelta(days=1)
+ time.append(dt)
co2.append(int(row[2]))
- fig = plt.figure(dpi = 128, figsize = (10,6))
- plt.plot(co2, c = 'red')
- plt.title('CO₂', fontsize = 24)
- plt.xlabel('',fontsize = 16)
- plt.ylabel('ppm', fontsize = 16)
- plt.tick_params(axis = 'both', which = 'major', labelsize = 16)
+ plt.plot(time, co2, c = 'red')
+ plt.title('CO₂')
+ plt.xlabel('time')
+ plt.ylabel('ppm')
+ plt.tick_params(axis = 'both', which = 'major')
plt.show()