Private
Public Access
1
0

Annotations

This commit is contained in:
Sander Roosendaal
2016-11-18 15:28:57 +01:00
parent ae7b7fb9ab
commit c3e8bc28a5

View File

@@ -19,7 +19,7 @@ from bokeh.models import (
GMapPlot, GMapOptions, ColumnDataSource, Circle,
DataRange1d, PanTool, WheelZoomTool, BoxSelectTool,
SaveTool, ResizeTool, ResetTool, TapTool,CrosshairTool,BoxZoomTool,
Span,
Span, Label
)
#from bokeh.models.widgets import Slider, Select, TextInput
from bokeh.core.properties import value
@@ -696,6 +696,12 @@ def interactive_cum_flex_chart(theworkouts,promember=0,
y_axis_type = 'datetime'
y1mean = datadf.ix[:,'pseconds'].mean()
datadf['xname'] = xparam
datadf['yname1'] = yparam1
if yparam2 != 'None':
datadf['yname2'] = yparam2
else:
datadf['yname2'] = yparam1
source = ColumnDataSource(
datadf
@@ -723,12 +729,27 @@ def interactive_cum_flex_chart(theworkouts,promember=0,
line_dash=[6,6],line_width=2)
y2means = y1means
xlabel = Label(x=370,y=130,x_units='screen',y_units='screen',
text=xparam+": {x1mean:6.2f}".format(x1mean=x1mean),
background_fill_alpha=.7,
text_color='green',
)
if (xparam != 'time') and (xparam != 'distance'):
plot.add_layout(x1means)
plot.add_layout(xlabel)
plot.add_layout(y1means)
y1label = Label(x=370,y=100,x_units='screen',y_units='screen',
text=yparam1+": {y1mean:6.2f}".format(y1mean=y1mean),
background_fill_alpha=.7,
text_color='blue',
)
if yparam1 != 'time' and yparam1 != 'pace':
plot.add_layout(y1label)
y2label = y1label
plot.circle('x1','y1',source=source2,fill_alpha=0.3,line_color=None,
legend=yparamname1,
)
@@ -780,6 +801,13 @@ def interactive_cum_flex_chart(theworkouts,promember=0,
plot.add_layout(y2means)
y2label = Label(x=370,y=70,x_units='screen',y_units='screen',
text=yparam2+": {y2mean:6.2f}".format(y2mean=y2mean),
background_fill_alpha=.7,
text_color='red',
)
if yparam2 != 'pace' and yparam2 != 'time':
plot.add_layout(y2label)
hover = plot.select(dict(type=HoverTool))
@@ -797,6 +825,9 @@ def interactive_cum_flex_chart(theworkouts,promember=0,
callback = CustomJS(args = dict(source=source,source2=source2,
x1means=x1means,
y1means=y1means,
y1label=y1label,
y2label=y2label,
xlabel=xlabel,
y2means=y2means), code="""
var data = source.data
var data2 = source2.data
@@ -809,6 +840,9 @@ def interactive_cum_flex_chart(theworkouts,promember=0,
var hr1 = data['hr']
var distance1 = data['distance']
var power1 = data['power']
var xname = data['xname'][0]
var yname1 = data['yname1'][0]
var yname2 = data['yname2'][0]
var minspm = minspm.value
var maxspm = maxspm.value
@@ -865,6 +899,9 @@ def interactive_cum_flex_chart(theworkouts,promember=0,
x1means.location = xm
y1means.location = ym1
y2means.location = ym2
y1label.text = yname1+': '+ym1.toFixed(2)
y2label.text = yname2+': '+ym2.toFixed(2)
xlabel.text = xname+': '+xm.toFixed(2)
source2.trigger('change');
""")
@@ -1026,7 +1063,14 @@ def interactive_flex_chart2(id=0,promember=0,
y_axis_type = 'datetime'
y1mean = rowdata.ix[:,'pseconds'].mean()
rowdata['xname'] = xparam
rowdata['yname1'] = yparam1
if yparam2 != 'None':
rowdata['yname2'] = yparam2
else:
rowdata['yname2'] = yparam1
# prepare data
source = ColumnDataSource(
rowdata
@@ -1059,12 +1103,27 @@ def interactive_flex_chart2(id=0,promember=0,
line_dash=[6,6],line_width=2)
y2means = y1means
xlabel = Label(x=370,y=130,x_units='screen',y_units='screen',
text=xparam+": {x1mean:6.2f}".format(x1mean=x1mean),
background_fill_alpha=.7,
text_color='green',
)
if (xparam != 'time') and (xparam != 'distance'):
plot.add_layout(x1means)
plot.add_layout(xlabel)
plot.add_layout(y1means)
y1label = Label(x=370,y=100,x_units='screen',y_units='screen',
text=yparam1+": {y1mean:6.2f}".format(y1mean=y1mean),
background_fill_alpha=.7,
text_color='blue',
)
if yparam1 != 'time' and yparam1 != 'pace':
plot.add_layout(y1label)
y2label = y1label
# average values
if yparam1 == 'driveenergy':
@@ -1132,6 +1191,13 @@ def interactive_flex_chart2(id=0,promember=0,
plot.add_layout(y2means)
y2label = Label(x=370,y=70,x_units='screen',y_units='screen',
text=yparam2+": {y2mean:6.2f}".format(y2mean=y2mean),
background_fill_alpha=.7,
text_color='red',
)
if yparam2 != 'pace' and yparam2 != 'time':
plot.add_layout(y2label)
hover = plot.select(dict(type=HoverTool))
@@ -1150,6 +1216,9 @@ def interactive_flex_chart2(id=0,promember=0,
callback = CustomJS(args = dict(source=source,source2=source2,
x1means=x1means,
y1means=y1means,
y1label=y1label,
y2label=y2label,
xlabel=xlabel,
y2means=y2means), code="""
var data = source.data
var data2 = source2.data
@@ -1162,6 +1231,9 @@ def interactive_flex_chart2(id=0,promember=0,
var hr1 = data['hr']
var distance1 = data['distance']
var power1 = data['power']
var xname = data['xname'][0]
var yname1 = data['yname1'][0]
var yname2 = data['yname2'][0]
var minspm = minspm.value
var maxspm = maxspm.value
@@ -1218,6 +1290,9 @@ def interactive_flex_chart2(id=0,promember=0,
x1means.location = xm
y1means.location = ym1
y2means.location = ym2
y1label.text = yname1+': '+ym1.toFixed(2)
y2label.text = yname2+': '+ym2.toFixed(2)
xlabel.text = xname+': '+xm.toFixed(2)
source2.trigger('change');
""")