From 3c0157475f9b8abc1f5a0464002ae4b19ca9fc4e Mon Sep 17 00:00:00 2001
From: Sander Roosendaal
Date: Fri, 12 May 2017 19:10:13 +0200
Subject: [PATCH] minimum viable version of improved stats
---
rowers/dataprep.py | 12 ++++++++++++
rowers/interactiveplots.py | 18 +++++++++++++++---
rowers/templates/cumstats.html | 10 ++++++++--
rowers/urls.py | 2 ++
rowers/views.py | 5 ++++-
5 files changed, 41 insertions(+), 6 deletions(-)
diff --git a/rowers/dataprep.py b/rowers/dataprep.py
index 0cb791c5..84a25803 100644
--- a/rowers/dataprep.py
+++ b/rowers/dataprep.py
@@ -968,6 +968,12 @@ def read_cols_df_sql(ids,columns):
connection = engine.raw_connection()
df = pd.read_sql_query(query,engine)
df = df.fillna(value=0)
+ try:
+ df['peakforce'] = df['peakforce']*lbstoN
+ df['averageforce'] = df['averageforce']*lbstoN
+ except KeyError:
+ pass
+
engine.dispose()
return df
@@ -980,6 +986,12 @@ def read_df_sql(id):
engine.dispose()
df = df.fillna(value=0)
+ try:
+ df['peakforce'] = df['peakforce']*lbstoN
+ df['averageforce'] = df['averageforce']*lbstoN
+ except KeyError:
+ pass
+
return df
# Get the necessary data from the strokedata table in the DB.
diff --git a/rowers/interactiveplots.py b/rowers/interactiveplots.py
index 14d42578..72607cbf 100644
--- a/rowers/interactiveplots.py
+++ b/rowers/interactiveplots.py
@@ -4,7 +4,7 @@ from rowingdata import main as rmain
from rowingdata import cumcpdata,histodata
from rowingdata import rowingdata as rrdata
-
+from math import pi
from django.utils import timezone
from bokeh.palettes import Dark2_8 as palette
@@ -88,15 +88,27 @@ from rowers.dataprep import nicepaceformat,niceformat
from rowers.dataprep import timedeltaconv
def interactive_boxchart(datadf,fieldname):
-
+ TOOLS = 'save,pan,box_zoom,wheel_zoom,reset,resize'
plot = BoxPlot(datadf, values=fieldname, label='date',
legend=False,
title=axlabels[fieldname],
- outliers=False)
+ outliers=False,
+ tools=TOOLS,
+ x_mapper_type='datetime')
yrange1 = Range1d(start=yaxminima[fieldname],end=yaxmaxima[fieldname])
plot.y_range = yrange1
+
+ plot.xaxis.axis_label = 'Date'
+ plot.yaxis.axis_label = axlabels[fieldname]
+
+ plot.xaxis.formatter = DatetimeTickFormatter(
+ days=["%d %B %Y"],
+ months=["%d %B %Y"],
+ years=["%d %B %Y"],
+ )
+ plot.xaxis.major_label_orientation = pi/4
script, div = components(plot)
diff --git a/rowers/templates/cumstats.html b/rowers/templates/cumstats.html
index 484e89ff..7d814c62 100644
--- a/rowers/templates/cumstats.html
+++ b/rowers/templates/cumstats.html
@@ -47,7 +47,7 @@
between {{ startdate|date }} and {{ enddate|date }}
Direct link for other Pro users:
- https://rowsandall.com/rowers/{{ id }}/cumstats/{{ startdate|date:"Y-m-d" }}/{{ enddate|date:"Y-m-d" }}
+ https://rowsandall.com/rowers/{{ id }}/cumstats/{{ startdate|date:"Y-m-d" }}/{{ enddate|date:"Y-m-d" }}/p/{{ plotfield }}