Private
Public Access
1
0

bug fix order of activity chart

This commit is contained in:
Sander Roosendaal
2018-01-06 09:59:18 +01:00
parent 599a30cfa7
commit cd94649e0b
2 changed files with 49 additions and 17 deletions

View File

@@ -13,6 +13,7 @@ import itertools
from bokeh.plotting import figure, ColumnDataSource, Figure,curdoc
from bokeh.models import CustomJS,Slider, TextInput,BoxAnnotation
from bokeh.charts import Histogram,HeatMap,Area,BoxPlot,Bar
from bokeh.charts.attributes import CatAttr
from bokeh.resources import CDN,INLINE
from bokeh.embed import components
from bokeh.layouts import layout,widgetbox
@@ -227,6 +228,7 @@ def interactive_activitychart(workouts,startdate,enddate,stack='type'):
return "",""
dates = []
dates_sorting = []
types = []
rowers = []
durations = []
@@ -234,8 +236,10 @@ def interactive_activitychart(workouts,startdate,enddate,stack='type'):
for w in workouts:
if w.privacy == 'visible':
dd = w.date.strftime('%m/%d')
dd2 = w.date.strftime('%Y/%m/%d')
du = w.duration.hour*60+w.duration.minute
dates.append(dd)
dates_sorting.append(dd2)
durations.append(du)
types.append(w.workouttype)
try:
@@ -253,9 +257,10 @@ def interactive_activitychart(workouts,startdate,enddate,stack='type'):
except ValueError:
pass
# add dates with no activity
while d<=enddate:
dates.append(d.strftime('%m/%d'))
dates_sorting.append(d.strftime('%Y/%m/%d'))
durations.append(0)
types.append('rower')
rowers.append('Sander')
@@ -263,12 +268,19 @@ def interactive_activitychart(workouts,startdate,enddate,stack='type'):
df = pd.DataFrame({
'date':dates,
'date_sorting':dates_sorting,
'duration':durations,
'type':types,
'rower':rowers,
})
df.sort_values('date_sorting',inplace=True)
p = Bar(df,'date',values='duration',title='Activity',
p = Bar(df,values='duration',
label = CatAttr(columns=['date'], sort=False),
xlabel='Date',
ylabel='Time',
title='Activity',
stack=stack,
plot_width=350,
plot_height=250,

View File

@@ -2957,9 +2957,15 @@ def histo(request,theuser=0,
if 'options' in request.session:
options = request.session['options']
workouttypes = options['workouttypes']
includereststrokes = options['includereststrokes']
waterboattype = options['waterboattype']
try:
workouttypes = options['workouttypes']
includereststrokes = options['includereststrokes']
waterboattype = options['waterboattype']
except KeyError:
workouttypes = ['water','rower','dynamic','slides']
waterboattype = ['1x','2x','2-','4x','4-','8+']
includereststrokes = False
workstrokesonly = not includereststrokes
@@ -5760,15 +5766,25 @@ def boxplot_view_data(request,userid=0,
if 'options' in request.session:
options = request.session['options']
includereststrokes = options['includereststrokes']
spmmin = options['spmmin']
spmmax = options['spmmax']
workmin = options['workmin']
workmax = options['workmax']
ids = options['ids']
userid = options['userid']
plotfield = options['plotfield']
try:
includereststrokes = options['includereststrokes']
spmmin = options['spmmin']
spmmax = options['spmmax']
workmin = options['workmin']
workmax = options['workmax']
ids = options['ids']
userid = options['userid']
plotfield = options['plotfield']
except KeyError:
includereststrokes = False
spmmin = 15
spmmax = 55
workmin = 0
workmax = 55
ids = []
userid = 0
plotfield = 'spm'
workstrokesonly = not includereststrokes
@@ -5840,8 +5856,13 @@ def boxplot_view(request,userid=0,
if 'options' in request.session:
options = request.session['options']
try:
includereststrokes = options['includereststrokes']
except KeyError:
includereststrokes = False
options['includereststrokes'] = False
includereststrokes = options['includereststrokes']
workstrokesonly = not includereststrokes
if userid==0:
@@ -5960,7 +5981,6 @@ def workouts_view(request,message='',successmessage='',
except ValueError:
activity_enddate = enddate
if teamid:
try:
theteam = Team.objects.get(id=teamid)
@@ -6027,7 +6047,7 @@ def workouts_view(request,message='',successmessage='',
stack='rower'
else:
stack='type'
script,div = interactive_activitychart(g_workouts,
activity_startdate,
activity_enddate,