Private
Public Access
1
0

trying to get slider to work

This commit is contained in:
Sander Roosendaal
2019-11-16 16:07:18 +01:00
parent 92a83114e8
commit 465527d211
3 changed files with 43 additions and 47 deletions

View File

@@ -2806,13 +2806,16 @@ def interactive_streamchart(id=0,promember=0):
return [script,div]
def interactive_chart(id=0,promember=0,intervaldata = {}):
def interactive_chart(id=0,promember=0,intervaldata = {}, timepos = None):
# Add hover to this comma-separated string and see what changes
if (promember==1):
TOOLS = 'save,pan,box_zoom,wheel_zoom,reset,tap,hover,crosshair'
else:
TOOLS = 'pan,box_zoom,wheel_zoom,reset,tap,hover,crosshair'
if timepos:
TOOLS = ''
columns = ['time','pace','hr','fpace','ftime','spm']
datadf = dataprep.getsmallrowdata_db(columns,ids=[id])
@@ -2931,6 +2934,32 @@ def interactive_chart(id=0,promember=0,intervaldata = {}):
right='time_r',source=intervalsource,color='mediumvioletred',
y_range_name='spmax',fill_alpha=0.2,line_alpha=0.2)
if timepos:
timepos = datetime.timedelta(seconds=timepos)
timeline = ColumnDataSource(
data=dict(
x = [timepos,timepos],
y = [10,100]
))
plot.line('x','y',source=timeline,y_range_name='spmax')
callback = CustomJS(args = dict(timeline=timeline),
code="""
var data = timeline.data
var x = data['x']
var y = data['y']
var sliderpos = cb_obj.value
data['x'] = [sliderpos,sliderpos]
timeline.change.emit();
"""
)
timemax = int(datadf['time'].max()/1000.)
slider = Slider(start=0,end=100,step=1.0,callback=callback)
slider.js_on_change('value',callback)
layout = layoutcolumn([plot,slider])
else:
layout = plot
hover = plot.select(dict(type=HoverTool))
@@ -2945,9 +2974,11 @@ def interactive_chart(id=0,promember=0,intervaldata = {}):
hover.mode = 'mouse'
hover.names = ["spm","pace"]
script, div = components(plot)
script, div = components(layout)
js_resources = INLINE.render_js()
css_resources = INLINE.render_css()
return [script,div]
return [script,div,js_resources,css_resources]
def interactive_multiflex(datadf,xparam,yparam,groupby,extratitle='',
ploterrorbars=False,