From 98b45d910ec5042206f22524cac1eb1421e25410 Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Sun, 10 May 2020 11:00:32 +0200 Subject: [PATCH 1/2] beautified pies --- rowers/interactiveplots.py | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/rowers/interactiveplots.py b/rowers/interactiveplots.py index 9c99d441..8affafe7 100644 --- a/rowers/interactiveplots.py +++ b/rowers/interactiveplots.py @@ -231,25 +231,32 @@ def interactive_hr_piechart(df,rower,title): size=350 - TOOLS = 'save' + TOOLS = 'save,hover' - z = figure(title="HR "+title, x_range=(-1,1), y_range=(-1,1), width=size, height=size, - tools=TOOLS, + percts = 100.*(source_ends-source_starts)/(2*pi) + data = {} + data['zone'] = source_legends + data['value'] = percts + data['angle'] = data['value']/data['value'].sum() * 2*pi + data['color'] = colors + data['percentage'] = pd.Series(['{x:4.1f}%'.format(x=x) for x in percts]) + + + z = figure(title="HR "+title, x_range=(-0.5,1), plot_height=350, + tools=TOOLS,toolbar_location=None,tooltips="@zone: @percentage", ) - for start, end , legend, color in zip(source_starts, source_ends, source_legends, - colors[0:len(source_starts)]): - z.wedge(x=0, y=0, radius=1, start_angle=start, end_angle=end, color=color, legend=legend) + z.wedge(x=0,y=1, radius=0.4, + start_angle=cumsum('angle',include_zero=True), end_angle=cumsum('angle'), + line_color='white',fill_color='color',source=data,legend='zone') - z.toolbar_location = 'right' - z.legend.location = 'top_right' - #z.legend.visible = False + z.axis.axis_label = None z.axis.visible = False - z.xgrid.grid_line_color = None - z.ygrid.grid_line_color = None + z.grid.grid_line_color = None z.outline_line_color = None + z.toolbar_location = 'right' return components(z) From d01c42af2e92f0fc68b78da9859a97b0254a8221 Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Sun, 10 May 2020 11:25:52 +0200 Subject: [PATCH 2/2] total time instead of perc --- rowers/interactiveplots.py | 69 ++++++++++++----------------------- rowers/views/analysisviews.py | 6 +-- 2 files changed, 27 insertions(+), 48 deletions(-) diff --git a/rowers/interactiveplots.py b/rowers/interactiveplots.py index 8affafe7..724d2c9d 100644 --- a/rowers/interactiveplots.py +++ b/rowers/interactiveplots.py @@ -184,66 +184,45 @@ def interactive_hr_piechart(df,rower,title): sumtimehr = df['deltat'].sum() qry = 'hr < {ut2}'.format(ut2=rower.ut2) - frac_lut2 = df.query(qry)['deltat'].sum()/sumtimehr + frac_lut2 = df.query(qry)['deltat'].sum() - qry = 'hr < {ut1}'.format(ut1=rower.ut1,ut2=rower.ut2) - frac_ut2 = df.query(qry)['deltat'].sum()/sumtimehr + qry = '{ut2} <= hr < {ut1}'.format(ut1=rower.ut1,ut2=rower.ut2) + frac_ut2 = df.query(qry)['deltat'].sum() - qry = 'hr < {at}'.format(ut1=rower.ut1,at=rower.at) - frac_ut1 = df.query(qry)['deltat'].sum()/sumtimehr + qry = '{ut2} <= hr < {at}'.format(ut2=rower.ut2,at=rower.at) + frac_ut1 = df.query(qry)['deltat'].sum() - qry = 'hr < {tr}'.format(at=rower.at,tr=rower.tr) - frac_at = df.query(qry)['deltat'].sum()/sumtimehr + qry = '{at} <= hr < {tr}'.format(at=rower.at,tr=rower.tr) + frac_at = df.query(qry)['deltat'].sum() - qry = 'hr < {an}'.format(tr=rower.tr,an=rower.an) - frac_tr = df.query(qry)['deltat'].sum()/sumtimehr + qry = '{tr} <= hr < {an}'.format(tr=rower.tr,an=rower.an) + frac_tr = df.query(qry)['deltat'].sum() - frac_an = 1. + qry = 'hr >= {an}'.format(an=rower.an) + frac_an = df.query(qry)['deltat'].sum() - source_starts = 2*pi*pd.Series([ - 0, - frac_lut2, - frac_ut2, - frac_ut1, - frac_at, - frac_tr, - ]) - - source_ends = 2*pi*pd.Series([ - frac_lut2, - frac_ut2, - frac_ut1, - frac_at, - frac_tr, - frac_an, - ]) - - source_legends = [ - '