diff --git a/dailies-overlayed.py b/dailies-overlayed.py new file mode 100644 index 0000000..b061fe2 --- /dev/null +++ b/dailies-overlayed.py @@ -0,0 +1,60 @@ +from bokeh.plotting import figure, output_file, save, show +from bokeh.models import Legend, ColumnDataSource +import bokeh.palettes +import pandas as pd +import numpy as np +import random +import glob +import os + +def random_colour(): + r = random.randint(0,255) + g = random.randint(0,255) + b = random.randint(0,255) + rgb = [r,g,b] + return rgb + +def generate_charts (meter_num) : + if (meter_num == 1) : + fig_title = f"Daily Readings for Light Meter 1 (Andy)" + else : + fig_title = f"Daily Readings for Light Meter 2 (Tony)" + + p = figure(title = fig_title, + x_axis_label = "Reading Id. (not same as database)", + y_axis_label = "Light Reading", + sizing_mode = "stretch_both") + p.axis.major_label_text_font_size = "12px" + p.axis.major_label_standoff = 10 + + files = glob.glob(f"data/light-meter-{meter_num}/*.csv") + for file_path in files : + single_file = pd.read_csv (file_path, sep="," ,header=None, + index_col=False, dtype='unicode') + file_data = single_file.values[1:] + file_name = os.path.splitext(os.path.basename(file_path))[0] + + x_raw_vals = [] + y_raw_vals = [] + counter = 0 + for row in file_data : + x_raw_vals.append(counter) + counter += 1 + y_raw_vals.append(row[1]) + + x_vals = x_raw_vals # np.asarray(x_raw_vals).astype(int) + y_vals = np.asarray(y_raw_vals).astype(int) + + p.line(x = x_vals, + y = y_vals, + line_width = 2, + line_color = random_colour()) + + output_file(f"output/lm{meter_num}-dailies-overlayed.html", + title=f"Light Meter 1 Daily Overlayed") + save(p) + +print("Generating charts for Light Meter 1...") +generate_charts(1) +print("Generating charts for Light Meter 2...") +generate_charts(2)