Private
Public Access
1
0

plot title in trend flex

This commit is contained in:
Sander Roosendaal
2017-07-07 16:39:08 +02:00
parent d8a4ddf976
commit 37118e896c
3 changed files with 57 additions and 8 deletions

View File

@@ -1 +0,0 @@
E408191@CZ27LT9RCGN72.21108:1499200053

View File

@@ -324,6 +324,7 @@ groupchoices = list(sorted(grouplabels.items(), key = lambda x:x[1]))
formaxlabelsmultiflex = formaxlabels.copy()
formaxlabelsmultiflex.pop('time')
formaxlabelsmultiflex.pop('distance')
formaxlabelsmultiflex['workoutid'] = 'Workout'
parchoicesmultiflex = list(sorted(formaxlabelsmultiflex.items(), key = lambda x:x[1]))

View File

@@ -1164,14 +1164,34 @@ def interactive_chart(id=0,promember=0):
return [script,div]
def interactive_multiflex(datadf,xparam,yparam,groupby,extratitle='',
ploterrorbars=False):
ploterrorbars=False,
title=None):
if datadf.empty:
return ['','<p>No non-zero data in selection</p>']
if xparam == 'workoutid':
xparamname = 'Workout'
else:
xparamname = axlabels[xparam]
xparamname = axlabels[xparam]
yparamname = axlabels[yparam]
if yparam == 'workoutid':
yparamname = 'Workout'
else:
yparamname = axlabels[yparam]
if groupby == 'workoutid':
groupname = 'Workout'
else:
groupname = axlabels[groupby]
if title==None:
title = '{y} vs {x} grouped by {gr}'.format(
x = xparamname,
y = yparamname,
gr = groupname,
)
if xparam=='distance':
@@ -1181,10 +1201,27 @@ def interactive_multiflex(datadf,xparam,yparam,groupby,extratitle='',
tseconds = datadf.ix[:,'time']
xaxmax = tseconds.max()
xaxmin = 0
elif xparam == 'workoutid':
xaxmax = datadf[xparam].max()-5
xaxmin = datadf[xparam].min()+5
else:
xaxmax = yaxmaxima[xparam]
xaxmin = yaxminima[xparam]
if yparam=='distance':
yaxmax = datadf[yparam].max()
yaxmin = datadf[yparam].min()
elif yparam=='time':
tseconds = datadf.ix[:,'time']
yaxmax = tseconds.max()
yaxmin = 0
elif yparam == 'workoutid':
yaxmax = datadf[yparam].max()-5
yaxmin = datadf[yparam].min()+5
else:
yaxmax = yaxmaxima[yparam]
yaxmin = yaxminima[yparam]
x_axis_type = 'linear'
y_axis_type = 'linear'
if xparam == 'time':
@@ -1207,6 +1244,9 @@ def interactive_multiflex(datadf,xparam,yparam,groupby,extratitle='',
plot.extra_y_ranges = {"watermark": watermarkrange}
plot.extra_x_ranges = {"watermark": watermarkrange}
plot.title.text = title
plot.title.text_font_size=value("1.0em")
plot.image_url([watermarkurl],watermarkx,watermarky,
watermarkw,watermarkh,
global_alpha=watermarkalpha,
@@ -1227,14 +1267,21 @@ def interactive_multiflex(datadf,xparam,yparam,groupby,extratitle='',
'size':10,
})
plot.xaxis.axis_label = axlabels[xparam]
plot.yaxis.axis_label = axlabels[yparam]
if xparam == 'workoutid':
plot.xaxis.axis_label = 'Workout'
else:
plot.xaxis.axis_label = axlabels[xparam]
if yparam == 'workoutid':
plot.xaxis.axis_label = 'Workout'
else:
plot.yaxis.axis_label = axlabels[yparam]
yrange1 = Range1d(start=yaxminima[yparam],end=yaxmaxima[yparam])
yrange1 = Range1d(start=yaxmin,end=yaxmax)
plot.y_range = yrange1
xrange1 = Range1d(start=yaxminima[xparam],end=yaxmaxima[xparam])
xrange1 = Range1d(start=xaxmin,end=xaxmax)
plot.x_range = xrange1
if yparam == 'pace':
@@ -1245,6 +1292,8 @@ def interactive_multiflex(datadf,xparam,yparam,groupby,extratitle='',
hover = plot.select(dict(type=HoverTool))
if groupby != 'date':
hover.tooltips = OrderedDict([
(groupby,'@groupval{1.1}'),