5 from datetime import datetime, date, timedelta
6 from matplotlib import pyplot as plt
16 def parsedatetime(timevalue, currentdate):
17 dt = datetime.strptime(timevalue, '%H:%M:%S')
18 return datetime.combine(currentdate, dt.time())
21 parser = argparse.ArgumentParser('Plot log.csv.')
22 parser.add_argument('filename', nargs='?', default='log.csv', help='Name of csv file')
23 parser.add_argument('-s', '--startdate', nargs='?', default='2020-10-22', help='First date in csv file')
24 parser.add_argument('-t', '--temperature', action='store_true', help='Include temperature plot')
25 args = parser.parse_args()
26 startdate = datetime.strptime(args.startdate, '%Y-%m-%d').date()
28 with open(args.filename) as f:
29 reader = csv.reader(f)
30 headers = next(reader)
36 dt = parsedatetime(row[0], startdate)
37 if len(time) > 0 and dt - time[-1] < timedelta(hours=-2): # DST switch!
38 startdate += timedelta(days=1)
39 dt += timedelta(days=1)
41 co2.append(int(row[2]))
42 temp.append(int(row[3]))
44 plt.plot(time, co2, c = 'red')
48 plt.tick_params(axis = 'both', which = 'major')
49 if args.temperature is True:
51 plt.plot(time, temp, c = 'blue')
54 if __name__ == '__main__':