diff --git a/rowers/interactiveplots.py b/rowers/interactiveplots.py index 1c485388..8ba54636 100644 --- a/rowers/interactiveplots.py +++ b/rowers/interactiveplots.py @@ -457,7 +457,7 @@ def interactive_forcecurve(theworkouts,workstrokesonly=False): ) plot = Figure(tools=TOOLS, - toolbar_sticky=False) + toolbar_sticky=False,toolbar_location="above") # add watermark watermarkurl = "/static/img/logo7.png" @@ -646,7 +646,8 @@ def interactive_forcecurve(theworkouts,workstrokesonly=False): peakflabel.text = 'Fpeak: '+peakforceav.toFixed(2) peakforceanglelabel.text = 'Peak angle: '+peakforceangleav.toFixed(2) - source.trigger('change'); + // source.trigger('change'); + source.change.emit(); """) slider_spm_min = Slider(start=15.0, end=55,value=15.0, step=.1, @@ -2887,7 +2888,7 @@ def interactive_cum_flex_chart2(theworkouts,promember=0, y2label.text = yname2+': '+(ym2).toFixed(2) xlabel.text = xname+': '+(xm).toFixed(2) - source2.trigger('change'); + source2.change.emit(); """) slider_spm_min = Slider(start=15.0, end=55,value=15.0, step=.1, @@ -3353,6 +3354,10 @@ def interactive_flex_chart2(id=0,promember=0, hover.mode = 'mouse' + x1meanline = [rowdata[xparam].mean(),rowdata[xparam].mean()] + y1meanline = [rowdata[yparam1].mean(),rowdata[yparam1].mean()] + y2meanline = [rowdata[yparam2].mean(),rowdata[yparam2].mean()] + callback = CustomJS(args = dict(source=source,source2=source2, x1means=x1means, @@ -3370,6 +3375,8 @@ def interactive_flex_chart2(id=0,promember=0, var y2 = data['y2'] var spm1 = data['spm'] var time1 = data['time'] + var ftime1 = data['ftime'] + var index1 = data['index'] var pace1 = data['pace'] var hr1 = data['hr'] var fpace1 = data['fpace'] @@ -3379,6 +3386,9 @@ def interactive_flex_chart2(id=0,promember=0, var xname = data['xname'][0] var yname1 = data['yname1'][0] var yname2 = data['yname2'][0] + var workoutid1 = data['workoutid'][0] + var workoutstate1 = data['workoutstate'][0] + var annotation = annotation.value var minspm = minspm.value @@ -3396,17 +3406,23 @@ def interactive_flex_chart2(id=0,promember=0, data2['y2'] = [] data2['spm'] = [] data2['time'] = [] + data2['ftime'] = [] data2['pace'] = [] data2['hr'] = [] data2['fpace'] = [] + data2['index'] = [] data2['distance'] = [] data2['power'] = [] data2['x1mean'] = [] data2['y1mean'] = [] data2['y2mean'] = [] - data2['xvals'] = [] - data2['y1vals'] = [] - data2['y2vals'] = [] + data2['driveenergy'] = [] + data2['workoutid'] = [] + data2['workoutstate'] = [] + data2['xname'] = [] + data2['yname1'] = [] + data2['yname2'] = [] + for (i=0; i=minspm && spm1[i]<=maxspm) { @@ -3417,11 +3433,20 @@ def interactive_flex_chart2(id=0,promember=0, data2['y2'].push(y2[i]) data2['spm'].push(spm1[i]) data2['time'].push(time1[i]) + data2['index'].push(index1[i]) + data2['ftime'].push(ftime1[i]) data2['fpace'].push(fpace1[i]) + data2['driveenergy'].push(driveenergy1[i]) data2['pace'].push(pace1[i]) data2['hr'].push(hr1[i]) data2['distance'].push(distance1[i]) data2['power'].push(power1[i]) + data2['workoutid'].push(workoutid1) + data2['workoutstate'].push(workoutstate1) + data2['xname'].push(xname) + data2['yname1'].push(yname1) + data2['yname2'].push(yname2) + xm += x1[i] ym1 += y1[i] @@ -3435,9 +3460,16 @@ def interactive_flex_chart2(id=0,promember=0, ym1 /= data2['x1'].length ym2 /= data2['x1'].length - data2['x1mean'] = [xm,xm] - data2['y1mean'] = [ym1,ym1] - data2['y2mean'] = [ym2,ym2] + for (i=0; i