From 5a309d1ba3f255c0e70397aa355ddb87c39fed7f Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Sun, 10 May 2020 11:54:18 +0200 Subject: [PATCH] bug fix --- rowers/interactiveplots.py | 31 ++++++++++++++++++++++--------- rowers/views/analysisviews.py | 17 ++++++++++------- 2 files changed, 32 insertions(+), 16 deletions(-) diff --git a/rowers/interactiveplots.py b/rowers/interactiveplots.py index 724d2c9d..bc2e0986 100644 --- a/rowers/interactiveplots.py +++ b/rowers/interactiveplots.py @@ -174,32 +174,39 @@ from rowers.dataprep import timedeltaconv from math import pi -def interactive_hr_piechart(df,rower,title): +def interactive_hr_piechart(df,rower,title,totalseconds=0): if df.empty: return "","Not enough data to make a chart" + + df.sort_values(by='hr',inplace=True) df['timehr'] = df['deltat']*df['hr'] sumtimehr = df['deltat'].sum() + if totalseconds == 0: + totalseconds = sumtimehr + + + qry = 'hr < {ut2}'.format(ut2=rower.ut2) - frac_lut2 = df.query(qry)['deltat'].sum() + frac_lut2 = totalseconds*df.query(qry)['deltat'].sum()/sumtimehr qry = '{ut2} <= hr < {ut1}'.format(ut1=rower.ut1,ut2=rower.ut2) - frac_ut2 = df.query(qry)['deltat'].sum() + frac_ut2 = totalseconds*df.query(qry)['deltat'].sum()/sumtimehr - qry = '{ut2} <= hr < {at}'.format(ut2=rower.ut2,at=rower.at) - frac_ut1 = df.query(qry)['deltat'].sum() + qry = '{ut1} <= hr < {at}'.format(ut1=rower.ut1,at=rower.at) + frac_ut1 = totalseconds*df.query(qry)['deltat'].sum()/sumtimehr qry = '{at} <= hr < {tr}'.format(at=rower.at,tr=rower.tr) - frac_at = df.query(qry)['deltat'].sum() + frac_at = totalseconds*df.query(qry)['deltat'].sum()/sumtimehr qry = '{tr} <= hr < {an}'.format(tr=rower.tr,an=rower.an) - frac_tr = df.query(qry)['deltat'].sum() + frac_tr = totalseconds*df.query(qry)['deltat'].sum()/sumtimehr qry = 'hr >= {an}'.format(an=rower.an) - frac_an = df.query(qry)['deltat'].sum() + frac_an = totalseconds*df.query(qry)['deltat'].sum()/sumtimehr datadict = { '