Private
Public Access
1
0

total time instead of perc

This commit is contained in:
Sander Roosendaal
2020-05-10 11:25:52 +02:00
parent 98b45d910e
commit d01c42af2e
2 changed files with 27 additions and 48 deletions

View File

@@ -184,66 +184,45 @@ def interactive_hr_piechart(df,rower,title):
sumtimehr = df['deltat'].sum() sumtimehr = df['deltat'].sum()
qry = 'hr < {ut2}'.format(ut2=rower.ut2) qry = 'hr < {ut2}'.format(ut2=rower.ut2)
frac_lut2 = df.query(qry)['deltat'].sum()/sumtimehr frac_lut2 = df.query(qry)['deltat'].sum()
qry = 'hr < {ut1}'.format(ut1=rower.ut1,ut2=rower.ut2) qry = '{ut2} <= hr < {ut1}'.format(ut1=rower.ut1,ut2=rower.ut2)
frac_ut2 = df.query(qry)['deltat'].sum()/sumtimehr frac_ut2 = df.query(qry)['deltat'].sum()
qry = 'hr < {at}'.format(ut1=rower.ut1,at=rower.at) qry = '{ut2} <= hr < {at}'.format(ut2=rower.ut2,at=rower.at)
frac_ut1 = df.query(qry)['deltat'].sum()/sumtimehr frac_ut1 = df.query(qry)['deltat'].sum()
qry = 'hr < {tr}'.format(at=rower.at,tr=rower.tr) qry = '{at} <= hr < {tr}'.format(at=rower.at,tr=rower.tr)
frac_at = df.query(qry)['deltat'].sum()/sumtimehr frac_at = df.query(qry)['deltat'].sum()
qry = 'hr < {an}'.format(tr=rower.tr,an=rower.an) qry = '{tr} <= hr < {an}'.format(tr=rower.tr,an=rower.an)
frac_tr = df.query(qry)['deltat'].sum()/sumtimehr frac_tr = df.query(qry)['deltat'].sum()
frac_an = 1. qry = 'hr >= {an}'.format(an=rower.an)
frac_an = df.query(qry)['deltat'].sum()
source_starts = 2*pi*pd.Series([ datadict = {
0, '<ut2':frac_lut2,
frac_lut2, 'ut2': frac_ut2,
frac_ut2, 'ut1': frac_ut1,
frac_ut1, 'at': frac_at,
frac_at, 'tr': frac_tr,
frac_tr, 'an': frac_an,
]) }
source_ends = 2*pi*pd.Series([
frac_lut2,
frac_ut2,
frac_ut1,
frac_at,
frac_tr,
frac_an,
])
source_legends = [
'<ut2',
'ut2',
'ut1',
'at',
'tr',
'an',
]
colors = ['gray','yellow','lime','blue','purple','red'] colors = ['gray','yellow','lime','blue','purple','red']
data = pd.Series(datadict).reset_index(name='value').rename(columns={'index':'zone'})
data['angle'] = data['value']/data['value'].sum() * 2*pi
data['color'] = colors
data['totaltime'] = pd.Series([pretty_timedelta(v/1000.) for v in data['value']])
size=350 size=350
TOOLS = 'save,hover' TOOLS = 'save,hover'
percts = 100.*(source_ends-source_starts)/(2*pi)
data = {}
data['zone'] = source_legends
data['value'] = percts
data['angle'] = data['value']/data['value'].sum() * 2*pi
data['color'] = colors
data['percentage'] = pd.Series(['{x:4.1f}%'.format(x=x) for x in percts])
z = figure(title="HR "+title, x_range=(-0.5,1), plot_height=350, z = figure(title="HR "+title, x_range=(-0.5,1), plot_height=350,
tools=TOOLS,toolbar_location=None,tooltips="@zone: @percentage", tools=TOOLS,toolbar_location=None,tooltips="@zone: @totaltime",
) )
z.wedge(x=0,y=1, radius=0.4, z.wedge(x=0,y=1, radius=0.4,

View File

@@ -4700,7 +4700,7 @@ def history_view(request,userid=0):
tscript,tdiv = interactive_workouttype_piechart(g_workouts) tscript,tdiv = interactive_workouttype_piechart(g_workouts)
totalmeters,totalhours, totalminutes, totalseconds = get_totals(g_workouts) totalmeters,totalhours, totalminutes, totalseconds = get_totals(g_workouts)
totalminutes = "{totalminutes:02d}".format(totalminutes=totalminutes)
# meters, duration per workout type # meters, duration per workout type
wtypes = list(set([w.workouttype for w in g_workouts])) wtypes = list(set([w.workouttype for w in g_workouts]))
@@ -4738,10 +4738,10 @@ def history_view(request,userid=0):
totaldiv = get_call() totaldiv = get_call()
totalsdict = {} totalsdict = {}
totalsdict['duration'] = "{totalhours}:{totalminutes}:{totalseconds}".format( totalsdict['duration'] = "{totalhours:02d}:{totalminutes:02d}:{totalseconds:02d}".format(
totalhours=totalhours, totalhours=totalhours,
totalminutes=totalminutes, totalminutes=totalminutes,
totalseconds=totalseconds totalseconds=totalseconds,
) )
totalsdict['distance'] = totalmeters totalsdict['distance'] = totalmeters