From b4e5c8806ad014dac34b29d2a9526c50074fa9c7 Mon Sep 17 00:00:00 2001 From: Andrew Ridgway Date: Fri, 12 Jul 2024 21:39:19 +1000 Subject: [PATCH] got a graph drawing --- src/flask/chart_test.html | 61 ++++++++++++++++++++++++++++++++++ src/flask/charts/PoolCharts.py | 35 +++++++++++++++++-- 2 files changed, 93 insertions(+), 3 deletions(-) create mode 100644 src/flask/chart_test.html diff --git a/src/flask/chart_test.html b/src/flask/chart_test.html new file mode 100644 index 0000000..72e5f09 --- /dev/null +++ b/src/flask/chart_test.html @@ -0,0 +1,61 @@ + + + + + Bokeh Plot + + + + + +
+ + + + + \ No newline at end of file diff --git a/src/flask/charts/PoolCharts.py b/src/flask/charts/PoolCharts.py index 0924a1e..ccaf398 100644 --- a/src/flask/charts/PoolCharts.py +++ b/src/flask/charts/PoolCharts.py @@ -11,7 +11,36 @@ class PoolCharts(): def ph_line_chart(self): ph = self.db.pool_db - query = {} - data = ph.find({}).sort("date", -1).limit(10) + data = ph.find({}).sort("date", -1).limit(50) + dates = [] + ph_list = [] + date_count = {} for record in data: - print (f'{record["date"]},{record["ph"]}') + if record["ph"] != "None": + if record["date"] not in dates: + print("new date record") + dates.append(record["date"]) + ph_list.append(float(record["ph"])) + print (dates) + print (ph_list) + else: + if record["date"] in date_count: + date_count[record["date"]] += 1 + else: + date_count[record["date"]] = 2 + print(len(ph_list)) + current_ph = ph_list[len(ph_list) - 1] + ph_list[len(ph_list) - 1] = (float(record["ph"]) + current_ph) / date_count[record["date"]] + + print(dates) + print(ph_list) + + p = figure(x_range=dates, height=350, title="Pool Ph", + toolbar_location=None, tools="") + + p.vbar(x=dates, top=ph_list, width=0.9) + + p.xgrid.grid_line_color = None + p.y_range.start = 0 + + show(p)