diff --git a/rowers/interactiveplots.py b/rowers/interactiveplots.py index 6f2b42e0..57ed3723 100644 --- a/rowers/interactiveplots.py +++ b/rowers/interactiveplots.py @@ -354,6 +354,17 @@ def interactive_boxchart(datadf, fieldname, extratitle='', def interactive_planchart(data, startdate, enddate): + # data = data.melt(id_vars=['startdate'], value_vars=['executed', 'planned']) + + data = data.with_columns((pl.col("startdate").apply(lambda x: x.strftime("%Y-%m-%d"))).alias("startdate")) + data_dict = data.to_dicts() + chart_data = { + 'data': data_dict, + } + + script, div = get_chart("/plan", chart_data, debug=False) + return script, div + hv.extension('bokeh') yaxmaximum = data['executed'].max() diff --git a/rowers/plannedsessions.py b/rowers/plannedsessions.py index 3ecda13e..dc2c4a08 100644 --- a/rowers/plannedsessions.py +++ b/rowers/plannedsessions.py @@ -25,6 +25,7 @@ from rowingdata import rower as rrower from rowingdata import rowingdata as rrdata import arrow import pandas as pd +import polars as pl import json # Python @@ -203,16 +204,8 @@ def get_execution_report(rower, startdate, enddate, plan=None): startdate__gte=enddate) else: # pragma: no cover plans = TrainingPlan.objects.filter(rowers__in=[rower]) - #plans2 = TrainingPlan.objects.filter( - # enddate__lte=enddate, startdate__lte=enddate, rowers__in=[rower]) - #plans = plans | plans2 - - #plans = plans.exclude(status=False).order_by("-enddate") if not plans: - # make week cycles here - # get monday before startdate - micros = [] else: sorted_plans = sorted(plans, key= lambda t: t.overlap(startdate,enddate)) @@ -313,7 +306,7 @@ def get_execution_report(rower, startdate, enddate, plan=None): planned += [plannedscore] executed += [actualscore] - data = pd.DataFrame({ + data = pl.DataFrame({ 'startdate': startdates, 'planned': planned, 'executed': executed, diff --git a/rowers/templates/trainingplan_chart.html b/rowers/templates/trainingplan_chart.html index 3b1c5c11..bd8b523e 100644 --- a/rowers/templates/trainingplan_chart.html +++ b/rowers/templates/trainingplan_chart.html @@ -6,25 +6,22 @@ {% block main %} - - - +