Private
Public Access
1
0

work per stroke slider on flex chart

This commit is contained in:
Sander Roosendaal
2017-03-02 11:32:53 +01:00
parent c37461f411
commit 8134d76a07
2 changed files with 41 additions and 26 deletions

View File

@@ -433,7 +433,7 @@ def save_workout_database(f2,r,dosmooth=True,workouttype='rower',
privacy = 'visible' privacy = 'visible'
# check for duplicate start times # check for duplicate start times
ws = Workout.objects.filter(starttime=workoutstarttime, ws = Workout.objects.filter(startdatetime=workoutstartdatetime,
user=r) user=r)
if (len(ws) != 0): if (len(ws) != 0):
message = "Warning: This workout probably already exists in the database" message = "Warning: This workout probably already exists in the database"

View File

@@ -904,13 +904,13 @@ def interactive_cum_flex_chart2(theworkouts,promember=0,
yparamname2 = axlabels[yparam2] yparamname2 = axlabels[yparam2]
datadf = datadf[datadf[yparam1] > 0] #datadf = datadf[datadf[yparam1] > 0]
datadf = datadf[datadf[xparam] > 0] #datadf = datadf[datadf[xparam] > 0]
if yparam2 != 'None': #if yparam2 != 'None':
datadf = datadf[datadf[yparam2] > 0] # datadf = datadf[datadf[yparam2] > 0]
# check if dataframe not empty # check if dataframe not empty
if datadf.empty: if datadf.empty:
@@ -1104,9 +1104,9 @@ def interactive_cum_flex_chart2(theworkouts,promember=0,
x1means.location = xm x1means.location = xm
y1means.location = ym1 y1means.location = ym1
y2means.location = ym2 y2means.location = ym2
y1label.text = yname1+': '+ym1.toFixed(2) y1label.text = yname1+': '+(ym1).toFixed(2)
y2label.text = yname2+': '+ym2.toFixed(2) y2label.text = yname2+': '+(ym2).toFixed(2)
xlabel.text = xname+': '+xm.toFixed(2) xlabel.text = xname+': '+(xm).toFixed(2)
source2.trigger('change'); source2.trigger('change');
""") """)
@@ -1162,7 +1162,7 @@ def interactive_flex_chart2(id=0,promember=0,
#rowdata,row = dataprep.getrowdata_db(id=id) #rowdata,row = dataprep.getrowdata_db(id=id)
columns = [xparam,yparam1,yparam2, columns = [xparam,yparam1,yparam2,
'ftime','distance','fpace', 'ftime','distance','fpace',
'power','hr','spm', 'power','hr','spm','driveenergy',
'time','pace','workoutstate'] 'time','pace','workoutstate']
rowdata = dataprep.getsmallrowdata_db(columns,ids=[id],doclean=True) rowdata = dataprep.getsmallrowdata_db(columns,ids=[id],doclean=True)
@@ -1405,6 +1405,7 @@ def interactive_flex_chart2(id=0,promember=0,
var y1 = data['y1'] var y1 = data['y1']
var y2 = data['y2'] var y2 = data['y2']
var spm1 = data['spm'] var spm1 = data['spm']
var driveenergy1 = data['driveenergy']
var time1 = data['time'] var time1 = data['time']
var pace1 = data['pace'] var pace1 = data['pace']
var hr1 = data['hr'] var hr1 = data['hr']
@@ -1419,6 +1420,8 @@ def interactive_flex_chart2(id=0,promember=0,
var maxspm = maxspm.value var maxspm = maxspm.value
var mindist = mindist.value var mindist = mindist.value
var maxdist = maxdist.value var maxdist = maxdist.value
var minwork = minwork.value
var maxwork = maxwork.value
var xm = 0 var xm = 0
var ym1 = 0 var ym1 = 0
var ym2 = 0 var ym2 = 0
@@ -1443,6 +1446,7 @@ def interactive_flex_chart2(id=0,promember=0,
for (i=0; i<x1.length; i++) { for (i=0; i<x1.length; i++) {
if (spm1[i]>=minspm && spm1[i]<=maxspm) { if (spm1[i]>=minspm && spm1[i]<=maxspm) {
if (distance1[i]>=mindist && distance1[i]<=maxdist) { if (distance1[i]>=mindist && distance1[i]<=maxdist) {
if (driveenergy1[i]>=minwork && driveenergy1[i]<=maxwork) {
data2['x1'].push(x1[i]) data2['x1'].push(x1[i])
data2['y1'].push(y1[i]) data2['y1'].push(y1[i])
data2['y2'].push(y2[i]) data2['y2'].push(y2[i])
@@ -1457,7 +1461,7 @@ def interactive_flex_chart2(id=0,promember=0,
xm += x1[i] xm += x1[i]
ym1 += y1[i] ym1 += y1[i]
ym2 += y2[i] ym2 += y2[i]
}
} }
} }
} }
@@ -1488,6 +1492,15 @@ def interactive_flex_chart2(id=0,promember=0,
title="Max SPM",callback=callback) title="Max SPM",callback=callback)
callback.args["maxspm"] = slider_spm_max callback.args["maxspm"] = slider_spm_max
slider_work_min = Slider(start=0.0, end=1000,value=0.0, step=10,
title="Min Work per Stroke",callback=callback)
callback.args["minwork"] = slider_work_min
slider_work_max = Slider(start=0.0, end=1000,value=1000.0, step=10,
title="Max Work per Stroke",callback=callback)
callback.args["maxwork"] = slider_work_max
distmax = 100+100*int(rowdata['distance'].max()/100.) distmax = 100+100*int(rowdata['distance'].max()/100.)
slider_dist_min = Slider(start=0,end=distmax,value=0,step=1, slider_dist_min = Slider(start=0,end=distmax,value=0,step=1,
@@ -1503,6 +1516,8 @@ def interactive_flex_chart2(id=0,promember=0,
slider_spm_max, slider_spm_max,
slider_dist_min, slider_dist_min,
slider_dist_max, slider_dist_max,
slider_work_min,
slider_work_max,
], ],
), ),
plot]) plot])