Private
Public Access
1
0

added annotations to flex chart

This commit is contained in:
Sander Roosendaal
2017-05-02 14:58:25 +02:00
parent e711080269
commit da6d712248

View File

@@ -10,7 +10,7 @@ from django.utils import timezone
from bokeh.palettes import Dark2_8 as palette from bokeh.palettes import Dark2_8 as palette
import itertools import itertools
from bokeh.plotting import figure, ColumnDataSource, Figure,curdoc from bokeh.plotting import figure, ColumnDataSource, Figure,curdoc
from bokeh.models import CustomJS,Slider from bokeh.models import CustomJS,Slider, TextInput
from bokeh.charts import Histogram,HeatMap from bokeh.charts import Histogram,HeatMap
from bokeh.resources import CDN,INLINE from bokeh.resources import CDN,INLINE
from bokeh.embed import components from bokeh.embed import components
@@ -171,42 +171,49 @@ def interactive_forcecurve(theworkouts,workstrokesonly=False):
peakflabel = Label(x=455,y=530,x_units='screen',y_units='screen', peakflabel = Label(x=455,y=530,x_units='screen',y_units='screen',
text="Fpeak: {peakforceav:6.2f}".format(peakforceav=peakforceav), text="Fpeak: {peakforceav:6.2f}".format(peakforceav=peakforceav),
background_fill_alpha=.7, background_fill_alpha=.7,
background_fill_color='white',
text_color='blue', text_color='blue',
) )
avflabel = Label(x=465,y=500,x_units='screen',y_units='screen', avflabel = Label(x=465,y=500,x_units='screen',y_units='screen',
text="Favg: {averageforceav:6.2f}".format(averageforceav=averageforceav), text="Favg: {averageforceav:6.2f}".format(averageforceav=averageforceav),
background_fill_alpha=.7, background_fill_alpha=.7,
background_fill_color='white',
text_color='blue', text_color='blue',
) )
catchlabel = Label(x=460,y=470,x_units='screen',y_units='screen', catchlabel = Label(x=460,y=470,x_units='screen',y_units='screen',
text="Catch: {catchav:6.2f}".format(catchav=catchav), text="Catch: {catchav:6.2f}".format(catchav=catchav),
background_fill_alpha=0.7, background_fill_alpha=0.7,
background_fill_color='white',
text_color='red', text_color='red',
) )
peakforceanglelabel = Label(x=420,y=440,x_units='screen',y_units='screen', peakforceanglelabel = Label(x=420,y=440,x_units='screen',y_units='screen',
text="Peak angle: {peakforceangleav:6.2f}".format(peakforceangleav=peakforceangleav), text="Peak angle: {peakforceangleav:6.2f}".format(peakforceangleav=peakforceangleav),
background_fill_alpha=0.7, background_fill_alpha=0.7,
background_fill_color='white',
text_color='red', text_color='red',
) )
finishlabel = Label(x=455,y=410,x_units='screen',y_units='screen', finishlabel = Label(x=455,y=410,x_units='screen',y_units='screen',
text="Finish: {finishav:6.2f}".format(finishav=finishav), text="Finish: {finishav:6.2f}".format(finishav=finishav),
background_fill_alpha=0.7, background_fill_alpha=0.7,
background_fill_color='white',
text_color='red', text_color='red',
) )
sliplabel = Label(x=470,y=380,x_units='screen',y_units='screen', sliplabel = Label(x=470,y=380,x_units='screen',y_units='screen',
text="Slip: {slipav:6.2f}".format(slipav=slipav), text="Slip: {slipav:6.2f}".format(slipav=slipav),
background_fill_alpha=0.7, background_fill_alpha=0.7,
background_fill_color='white',
text_color='red', text_color='red',
) )
washlabel = Label(x=460,y=350,x_units='screen',y_units='screen', washlabel = Label(x=460,y=350,x_units='screen',y_units='screen',
text="Wash: {washav:6.2f}".format(washav=washav), text="Wash: {washav:6.2f}".format(washav=washav),
background_fill_alpha=0.7, background_fill_alpha=0.7,
background_fill_color='white',
text_color='red', text_color='red',
) )
@@ -974,6 +981,7 @@ def interactive_cum_flex_chart2(theworkouts,promember=0,
xlabel = Label(x=100,y=130,x_units='screen',y_units='screen', xlabel = Label(x=100,y=130,x_units='screen',y_units='screen',
text=xparam+": {x1mean:6.2f}".format(x1mean=x1mean), text=xparam+": {x1mean:6.2f}".format(x1mean=x1mean),
background_fill_alpha=.7, background_fill_alpha=.7,
background_fill_color='white',
text_color='green', text_color='green',
) )
@@ -986,6 +994,7 @@ def interactive_cum_flex_chart2(theworkouts,promember=0,
y1label = Label(x=100,y=100,x_units='screen',y_units='screen', y1label = Label(x=100,y=100,x_units='screen',y_units='screen',
text=yparam1+": {y1mean:6.2f}".format(y1mean=y1mean), text=yparam1+": {y1mean:6.2f}".format(y1mean=y1mean),
background_fill_alpha=.7, background_fill_alpha=.7,
background_fill_color='white',
text_color='blue', text_color='blue',
) )
@@ -1026,6 +1035,7 @@ def interactive_cum_flex_chart2(theworkouts,promember=0,
y2label = Label(x=100,y=70,x_units='screen',y_units='screen', y2label = Label(x=100,y=70,x_units='screen',y_units='screen',
text=axlabels[yparam2]+": {y2mean:6.2f}".format(y2mean=y2mean), text=axlabels[yparam2]+": {y2mean:6.2f}".format(y2mean=y2mean),
background_fill_alpha=.7, background_fill_alpha=.7,
background_fill_color='white',
text_color='red', text_color='red',
) )
if yparam2 != 'pace' and yparam2 != 'time': if yparam2 != 'pace' and yparam2 != 'time':
@@ -1309,19 +1319,30 @@ def interactive_flex_chart2(id=0,promember=0,
xlabel = Label(x=100,y=130,x_units='screen',y_units='screen', xlabel = Label(x=100,y=130,x_units='screen',y_units='screen',
text=axlabels[xparam]+": {x1mean:6.2f}".format(x1mean=x1mean), text=axlabels[xparam]+": {x1mean:6.2f}".format(x1mean=x1mean),
background_fill_alpha=.7, background_fill_alpha=.7,
background_fill_color='white',
text_color='green', text_color='green',
) )
annolabel = Label(x=100,y=510,x_units='screen',y_units='screen',
text='',
background_fill_alpha=0.7,
background_fill_color='white',
text_color='black',
)
if (xparam != 'time') and (xparam != 'distance') and (xparam != 'cumdist'): if (xparam != 'time') and (xparam != 'distance') and (xparam != 'cumdist'):
plot.add_layout(x1means) plot.add_layout(x1means)
plot.add_layout(xlabel) plot.add_layout(xlabel)
plot.add_layout(y1means) plot.add_layout(y1means)
plot.add_layout(annolabel)
y1label = Label(x=100,y=100,x_units='screen',y_units='screen', y1label = Label(x=100,y=100,x_units='screen',y_units='screen',
text=axlabels[yparam1]+": {y1mean:6.2f}".format(y1mean=y1mean), text=axlabels[yparam1]+": {y1mean:6.2f}".format(y1mean=y1mean),
background_fill_alpha=.7, background_fill_alpha=.7,
background_fill_color='white',
text_color='blue', text_color='blue',
) )
if yparam1 != 'time' and yparam1 != 'pace': if yparam1 != 'time' and yparam1 != 'pace':
@@ -1398,6 +1419,7 @@ def interactive_flex_chart2(id=0,promember=0,
y2label = Label(x=100,y=70,x_units='screen',y_units='screen', y2label = Label(x=100,y=70,x_units='screen',y_units='screen',
text=axlabels[yparam2]+": {y2mean:6.2f}".format(y2mean=y2mean), text=axlabels[yparam2]+": {y2mean:6.2f}".format(y2mean=y2mean),
background_fill_alpha=.7, background_fill_alpha=.7,
background_fill_color='white',
text_color='red', text_color='red',
) )
if yparam2 != 'pace' and yparam2 != 'time': if yparam2 != 'pace' and yparam2 != 'time':
@@ -1423,6 +1445,7 @@ def interactive_flex_chart2(id=0,promember=0,
y1label=y1label, y1label=y1label,
y2label=y2label, y2label=y2label,
xlabel=xlabel, xlabel=xlabel,
annolabel=annolabel,
y2means=y2means), code=""" y2means=y2means), code="""
var data = source.data var data = source.data
var data2 = source2.data var data2 = source2.data
@@ -1441,6 +1464,7 @@ def interactive_flex_chart2(id=0,promember=0,
var yname1 = data['yname1'][0] var yname1 = data['yname1'][0]
var yname2 = data['yname2'][0] var yname2 = data['yname2'][0]
var annotation = annotation.value
var minspm = minspm.value var minspm = minspm.value
var maxspm = maxspm.value var maxspm = maxspm.value
var mindist = mindist.value var mindist = mindist.value
@@ -1504,10 +1528,15 @@ def interactive_flex_chart2(id=0,promember=0,
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)
annolabel.text = annotation
source2.trigger('change'); source2.trigger('change');
""") """)
annotation = TextInput(title="Type your plot notes here", value="",
callback=callback)
callback.args["annotation"] = annotation
slider_spm_min = Slider(start=15.0, end=55,value=15.0, step=.1, slider_spm_min = Slider(start=15.0, end=55,value=15.0, step=.1,
title="Min SPM",callback=callback) title="Min SPM",callback=callback)
callback.args["minspm"] = slider_spm_min callback.args["minspm"] = slider_spm_min
@@ -1543,6 +1572,7 @@ def interactive_flex_chart2(id=0,promember=0,
slider_dist_max, slider_dist_max,
slider_work_min, slider_work_min,
slider_work_max, slider_work_max,
annotation,
], ],
), ),
plot]) plot])
@@ -1738,6 +1768,7 @@ def interactive_multiple_compare_chart(ids,xparam,yparam,plottype='line',
x_units='screen',y_units='screen', x_units='screen',y_units='screen',
text=axlabels[yparam]+": {ymean:6.2f}".format(ymean=ymean), text=axlabels[yparam]+": {ymean:6.2f}".format(ymean=ymean),
background_fill_alpha=.7, background_fill_alpha=.7,
background_fill_color='white',
text_color=color, text_color=color,
) )
if yparam != 'time' and yparam != 'pace': if yparam != 'time' and yparam != 'pace':