From e999a73d6868a13f10bf086b9c23da2c525e30d6 Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Fri, 18 Feb 2022 15:33:49 +0100 Subject: [PATCH] more pep --- rowers/interactiveplots.py | 253 ++++++++----------------------------- tox.ini | 2 +- 2 files changed, 56 insertions(+), 199 deletions(-) diff --git a/rowers/interactiveplots.py b/rowers/interactiveplots.py index c37dac24..6f6ee740 100644 --- a/rowers/interactiveplots.py +++ b/rowers/interactiveplots.py @@ -41,7 +41,7 @@ from bokeh.core.properties import value from rowers.opaque import encoder from bokeh.models import ( OpenURL, TapTool, CrosshairTool, Span, Label, SaveTool, - PanTool, BoxZoomTool, WheelZoomTool, ResetTool, + PanTool, BoxZoomTool, WheelZoomTool, ResetTool, ) from bokeh.models.glyphs import ImageURL from bokeh.transform import cumsum @@ -1543,12 +1543,12 @@ def interactive_forcecurve(theworkouts, workstrokesonly=True, plottype='scatter' ) #thesliders.sizing_mode = 'fixed' - layout = layoutrow([thesliders, + mylayout = layoutrow([thesliders, plot]) - layout.sizing_mode = 'stretch_both' + mylayout.sizing_mode = 'stretch_both' - script, div = components(layout) + script, div = components(mylayout) js_resources = INLINE.render_js() css_resources = INLINE.render_css() @@ -2036,11 +2036,11 @@ def performance_chart(user, startdate=None, enddate=None, kfitness=42, kfatigue= plot.add_tools(linked_crosshair) plot2.add_tools(linked_crosshair) - layout = layoutcolumn([plot, plot2]) - layout.sizing_mode = 'stretch_both' + mylayout = layoutcolumn([plot, plot2]) + mylayout.sizing_mode = 'stretch_both' try: - script, div = components(layout) + script, div = components(mylayout) except Exception as e: # pragma: no cover df.dropna(inplace=True, axis=0, how='any') return ( @@ -2190,10 +2190,10 @@ def interactive_histoall(theworkouts, histoparam, includereststrokes, annotation.js_on_change('value', callback) callback.args["annotation"] = annotation - layout = layoutcolumn([annotation, plot]) + mylayout = layoutcolumn([annotation, plot]) try: - script, div = components(layout) + script, div = components(mylayout) except ValueError: # pragma: no cover script = '' div = '' @@ -3101,8 +3101,6 @@ def leaflet_chart_video(lat, lon, name=""): lonmean = lon.mean() latbegin = lat[lat.index[0]] longbegin = lon[lon.index[0]] - latend = lat[lat.index[-1]] - longend = lon[lon.index[-1]] coordinates = zip(lat, lon) @@ -3201,9 +3199,7 @@ def leaflet_chart_video(lat, lon, name=""): latmean=latmean, lonmean=lonmean, latbegin=latbegin, - latend=latend, longbegin=longbegin, - longend=longend, scoordinates=scoordinates, ) @@ -3350,10 +3346,11 @@ def interactive_agegroupcpchart(age, normalized=False): mhduration.append(60.*duration) mhpower.append(np.nan) - def fitfunc(pars, x): return pars[0] / \ - (1+(x/pars[2])) + pars[1]/(1+(x/pars[3])) + def fitfunc(pars, x): + return pars[0] / (1+(x/pars[2])) + pars[1]/(1+(x/pars[3])) - def errfunc(pars, x, y): return fitfunc(pars, x)-y + def errfunc(pars, x, y): + return fitfunc(pars, x)-y # p0 = [500,350,10,8000] @@ -3444,7 +3441,6 @@ def interactive_agegroupcpchart(age, normalized=False): ) x_axis_type = 'log' - y_axis_type = 'linear' TOOLS = 'save,pan,box_zoom,wheel_zoom,reset,tap,hover,crosshair' @@ -3500,7 +3496,6 @@ def interactive_otwcpchart(powerdf, promember=0, rowername="", r=None, cpfit='da TOOLS = 'pan,box_zoom,wheel_zoom,reset,tap,hover,crosshair' x_axis_type = 'log' - y_axis_type = 'linear' deltas = powerdf2['Delta'].apply(lambda x: timedeltaconv(x)) powerdf2['ftime'] = deltas.apply(lambda x: strfdelta(x)) @@ -3524,8 +3519,9 @@ def interactive_otwcpchart(powerdf, promember=0, rowername="", r=None, cpfit='da p1 = [r.ep0, r.ep1, r.ep2, r.ep3] ratio = r.ecpratio - def fitfunc(pars, x): return abs( - pars[0])/(1+(x/abs(pars[2]))) + abs(pars[1])/(1+(x/abs(pars[3]))) + def fitfunc(pars, x): + return abs(pars[0])/(1+(x/abs(pars[2]))) + abs(pars[1])/(1+(x/abs(pars[3]))) + fitpower = fitfunc(p1, fitt) message = "" @@ -3534,8 +3530,6 @@ def interactive_otwcpchart(powerdf, promember=0, rowername="", r=None, cpfit='da deltas = fitt.apply(lambda x: timedeltaconv(x)) ftime = niceformat(deltas) - workouts = powerdf2['workout'] - urls = powerdf2['url'] # add world class wcpower = pd.Series(wcpower, dtype='float') @@ -3543,10 +3537,12 @@ def interactive_otwcpchart(powerdf, promember=0, rowername="", r=None, cpfit='da # fitting WC data to three parameter CP model if len(wcdurations) >= 4: # pragma: no cover - def fitfunc(pars, x): return pars[0] / \ - (1+(x/pars[2])) + pars[1]/(1+(x/pars[3])) + def fitfunc(pars, x): + return pars[0] / (1+(x/pars[2])) + pars[1]/(1+(x/pars[3])) + + def errfunc(pars, x, y): + return fitfunc(pars, x)-y - def errfunc(pars, x, y): return fitfunc(pars, x)-y p1wc, success = optimize.leastsq(errfunc, p0[:], args=(wcdurations, wcpower)) else: @@ -3582,13 +3578,6 @@ def interactive_otwcpchart(powerdf, promember=0, rowername="", r=None, cpfit='da ) ) - sourceannot = ColumnDataSource( - data=dict( - workout=workouts, - url=urls, - ) - ) - # making the plot plot = Figure(tools=TOOLS, x_axis_type=x_axis_type, plot_width=900, @@ -3597,12 +3586,8 @@ def interactive_otwcpchart(powerdf, promember=0, rowername="", r=None, cpfit='da # add watermark watermarkurl = "/static/img/logo7.png" - watermarksource = ColumnDataSource(dict( - url=[watermarkurl],)) - watermarkrange = Range1d(start=0, end=1) watermarkalpha = 0.6 - watermarkx = 0.99 watermarky = 0.01 watermarkw = 184 watermarkh = 35 @@ -3705,10 +3690,12 @@ def interactive_agegroup_plot(df, distance=2000, duration=None, # poly_vals = np.polyval(poly_coefficients,age2) # poly_vals = 0.5*(np.abs(poly_vals)+poly_vals) - def fitfunc(pars, x): return np.abs(pars[0])*(1-x/max(120, pars[1]))-np.abs( - pars[2])*np.exp(-x/np.abs(pars[3]))+np.abs(pars[4])*(np.sin(np.pi*x/max(50, pars[5]))) + def fitfunc(pars, x): + return np.abs(pars[0])*(1-x/max(120, pars[1])) \ + - np.abs(pars[2])*np.exp(-x/np.abs(pars[3]))+np.abs(pars[4])*(np.sin(np.pi*x/max(50, pars[5]))) - def errfunc(pars, x, y): return fitfunc(pars, x)-y + def errfunc(pars, x, y): + return fitfunc(pars, x)-y p0age = [700, 120, 700, 10, 100, 100] @@ -3722,8 +3709,6 @@ def interactive_agegroup_plot(df, distance=2000, duration=None, data=dict( age=age, power=power, - #age2 = age2, - #expo_vals = expo_vals, season=season, name=name, ) @@ -3774,7 +3759,6 @@ def interactive_cpchart(rower, thedistances, thesecs, theavpower, TOOLS = 'pan,box_zoom,wheel_zoom,reset,tap,hover,crosshair' x_axis_type = 'log' - y_axis_type = 'linear' thesecs = pd.Series(thesecs) @@ -3828,10 +3812,11 @@ def interactive_cpchart(rower, thedistances, thesecs, theavpower, ) ) - def fitfunc(pars, x): return pars[0] / \ - (1+(x/pars[2])) + pars[1]/(1+(x/pars[3])) + def fitfunc(pars, x): + return pars[0] / (1+(x/pars[2])) + pars[1]/(1+(x/pars[3])) - def errfunc(pars, x, y): return fitfunc(pars, x)-y + def errfunc(pars, x, y): + return fitfunc(pars, x)-y # p0 = [500,350,10,8000] wcpower = pd.Series(wcpower, dtype='float') @@ -3863,28 +3848,19 @@ def interactive_cpchart(rower, thedistances, thesecs, theavpower, # Get stayer score if success == 1: # pragma: no cover - power1min = fitfunc(p1, 60.) power4min = fitfunc(p1, 240.) - power6min = fitfunc(p1, 360.) - power30min = fitfunc(p1, 1800.) power1h = fitfunc(p1, 3600.) power10sec = fitfunc(p1, 10.) r10sec4min = 100.*power10sec/power4min r1h4min = 100.*power1h/power4min - r1min6min = 100.*power1min/power6min - r30min6min = 100.*power30min/power6min combined = r1h4min-0.2*(r10sec4min-100) - combined2 = r30min6min-1.5*(r1min6min-100) dataset = pd.read_csv('static/stats/combined_set.csv') - dataset2 = pd.read_csv('static/stats/combined_set6min.csv') stayerscore = int(percentileofscore(dataset['combined'], combined)) - stayerscore2 = int(percentileofscore(dataset2['combined'], combined2)) else: stayerscore = None - stayerscore2 = None fitt = pd.Series(10**(4*np.arange(100)/100.)) @@ -3938,12 +3914,8 @@ def interactive_cpchart(rower, thedistances, thesecs, theavpower, # add watermark watermarkurl = "/static/img/logo7.png" - watermarksource = ColumnDataSource(dict( - url=[watermarkurl],)) - watermarkrange = Range1d(start=0, end=1) watermarkalpha = 0.6 - watermarkx = 0.99 watermarky = 0.01 watermarkw = 184 watermarkh = 35 @@ -4069,7 +4041,6 @@ def interactive_windchart(id=0, promember=0): # get user # u = User.objects.get(id=row.user.id) r = row.user - u = r.user rr = rrower(hrmax=r.max, hrut2=r.ut2, hrut1=r.ut1, hrat=r.at, @@ -4158,7 +4129,6 @@ def interactive_streamchart(id=0, promember=0): # get user # u = User.objects.get(id=row.user.id) r = row.user - u = r.user rr = rrower(hrmax=r.max, hrut2=r.ut2, hrut1=r.ut1, hrat=r.at, @@ -4223,12 +4193,12 @@ def interactive_chart(id=0, promember=0, intervaldata={}): return "", "No Valid Data Available" try: - spm = datadf['spm'] + _ = datadf['spm'] except KeyError: # pragma: no cover datadf['spm'] = 0 try: - pace = datadf['pace'] + _ = datadf['pace'] except KeyError: # pragma: no cover datadf['pace'] = 0 @@ -4244,16 +4214,10 @@ def interactive_chart(id=0, promember=0, intervaldata={}): # add watermark watermarkurl = "/static/img/logo7.png" - watermarksource = ColumnDataSource(dict( - url=[watermarkurl],)) - watermarkrange = Range1d(start=0, end=1) watermarkalpha = 0.6 - watermarkx = 0.99 - watermarky = 0.01 watermarkw = 184 watermarkh = 35 - watermarkanchor = 'bottom_right' plot.extra_y_ranges = {"watermark": watermarkrange} plot.extra_x_ranges = {"watermark": watermarkrange} @@ -4476,7 +4440,7 @@ def interactive_multiflex(datadf, xparam, yparam, groupby, extratitle='', else: groupname = axlabels[groupby] - if title == None: + if title is None: title = '{y} vs {x} grouped by {gr}'.format( x=xparamname, y=yparamname, @@ -4555,9 +4519,6 @@ def interactive_multiflex(datadf, xparam, yparam, groupby, extratitle='', # add watermark watermarkurl = "/static/img/logo7.png" - watermarksource = ColumnDataSource(dict( - url=[watermarkurl],)) - watermarkrange = Range1d(start=0, end=1) watermarkalpha = 0.6 watermarkx = 0.99 @@ -4683,12 +4644,12 @@ def interactive_cum_flex_chart2(theworkouts, promember=0, workstrokesonly=workstrokesonly) try: - tests = datadf[yparam2] + _ = datadf[yparam2] except KeyError: # pragma: no cover yparam2 = 'None' try: - tests = datadf[yparam1] + _ = datadf[yparam1] except KeyError: yparam1 = 'None' @@ -4696,18 +4657,14 @@ def interactive_cum_flex_chart2(theworkouts, promember=0, datadf.dropna(axis=0, how='any', inplace=True) # test if we have drive energy - nowork = 1 try: # pragma: no cover - test = datadf['driveenergy'].mean() - nowork = 0 + _ = datadf['driveenergy'].mean() except KeyError: # pragma: no cover datadf['driveenergy'] = 500. # test if we have power - nopower = 1 try: # pragma: no cover - test = datadf['power'].mean() - nopower = 0 + _ = datadf['power'].mean() except KeyError: # pragma: no cover datadf['power'] = 50. @@ -4745,21 +4702,12 @@ def interactive_cum_flex_chart2(theworkouts, promember=0, else: # pragma: no cover datadf['y2'] = datadf['y1'] - if xparam == 'distance': # pragma: no cover - xaxmax = datadf['x1'].max() - xaxmin = datadf['x1'].min() - else: - xaxmax = yaxmaxima[xparam] - xaxmin = yaxminima[xparam] - # average values x1mean = datadf['x1'].mean() y1mean = datadf['y1'].mean() y2mean = datadf['y2'].mean() - xvals = pd.Series(xaxmin+np.arange(100)*(xaxmax-xaxmin)/100.) - x_axis_type = 'linear' y_axis_type = 'linear' if xparam == 'time': @@ -4797,9 +4745,6 @@ def interactive_cum_flex_chart2(theworkouts, promember=0, # add watermark watermarkurl = "/static/img/logo7.png" - watermarksource = ColumnDataSource(dict( - url=[watermarkurl],)) - watermarkrange = Range1d(start=0, end=1) watermarkalpha = 0.6 watermarkx = 0.99 @@ -5041,13 +4986,6 @@ def interactive_cum_flex_chart2(theworkouts, promember=0, slider_dist_max.js_on_change('value', callback) callback.args["maxdist"] = slider_dist_max - #slider_spm_min.sizing_mode = 'fixed' - #slider_spm_max.sizing_mode = 'fixed' - #slider_work_min.sizing_mode = 'fixed' - #slider_work_max.sizing_mode = 'fixed' - #slider_dist_min.sizing_mode = 'fixed' - #slider_dist_max.sizing_mode = 'fixed' - thesliders = layoutcolumn([slider_spm_min, slider_spm_max, slider_dist_min, @@ -5057,14 +4995,11 @@ def interactive_cum_flex_chart2(theworkouts, promember=0, ], ) - #thesliders.sizing_mode = 'fixed' + mylayout = layoutrow([thesliders, plot]) - layout = layoutrow([thesliders, - plot]) + mylayout.sizing_mode = 'stretch_both' - layout.sizing_mode = 'stretch_both' - - script, div = components(layout) + script, div = components(mylayout) js_resources = INLINE.render_js() css_resources = INLINE.render_css() @@ -5104,7 +5039,6 @@ def interactive_flexchart_stacked(id, r, xparam='time', doclean=False, workstrokesonly=False) - row = Workout.objects.get(id=id) if rowdata.empty: return "", "No valid data", '', '', comment @@ -5115,34 +5049,29 @@ def interactive_flexchart_stacked(id, r, xparam='time', try: rowdata['x1'] = rowdata.loc[:, xparam] - rowmin = rowdata[xparam].min() except KeyError: # pragma: no cover rowdata['x1'] = 0*rowdata.loc[:, 'time'] try: rowdata['y1'] = rowdata.loc[:, yparam1] - rowmin = rowdata[yparam1].min() except KeyError: # pragma: no cover rowdata['y1'] = 0*rowdata.loc[:, 'time'] rowdata[yparam1] = rowdata['y1'] try: # pragma: no cover rowdata['y2'] = rowdata.loc[:, yparam2] - rowmin = rowdata[yparam2].min() except KeyError: rowdata['y2'] = 0*rowdata.loc[:, 'time'] rowdata[yparam2] = rowdata['y2'] try: rowdata['y3'] = rowdata.loc[:, yparam3] - rowmin = rowdata[yparam3].min() except KeyError: # pragma: no cover rowdata['y3'] = 0*rowdata.loc[:, 'time'] rowdata[yparam3] = rowdata['y3'] try: rowdata['y4'] = rowdata.loc[:, yparam4] - rowmin = rowdata[yparam4].min() except KeyError: # pragma: no cover rowdata['y4'] = 0*rowdata.loc[:, 'time'] rowdata[yparam4] = rowdata['y4'] @@ -5418,16 +5347,16 @@ def interactive_flexchart_stacked(id, r, xparam='time', plot3.line('x1', 'y3', source=source, color=palette2[0]) plot4.line('x1', 'y4', source=source, color=palette2[2]) - layout = layoutcolumn([ + mylayout = layoutcolumn([ plot1, plot2, plot3, plot4, ]) - layout.sizing_mode = 'stretch_both' + mylayout.sizing_mode = 'stretch_both' - script, div = components(layout) + script, div = components(mylayout) js_resources = INLINE.render_js() css_resources = INLINE.render_css() @@ -5443,9 +5372,6 @@ def interactive_flex_chart2(id, r, promember=0, mode='rower'): watermarkurl = "/static/img/logo7.png" - watermarksource = ColumnDataSource(dict( - url=[watermarkurl],)) - watermarkrange = Range1d(start=0, end=1) watermarkalpha = 0.6 watermarkx = 0.99 @@ -5454,7 +5380,6 @@ def interactive_flex_chart2(id, r, promember=0, watermarkh = 35 watermarkanchor = 'bottom_right' - #rowdata,row = dataprep.getrowdata_db(id=id) columns = [xparam, yparam1, yparam2, 'ftime', 'distance', 'fpace', 'power', 'hr', 'spm', 'driveenergy', @@ -5484,28 +5409,24 @@ def interactive_flex_chart2(id, r, promember=0, workstrokesonly=False) workstrokesonly = False try: - tests = rowdata[yparam2] + _ = rowdata[yparam2] except KeyError: # pragma: no cover yparam2 = 'None' try: - tests = rowdata[yparam1] + _ = rowdata[yparam1] except KeyError: # pragma: no cover yparam1 = 'None' # test if we have drive energy - nowork = 1 try: - test = rowdata['driveenergy'].mean() - nowork = 0 + _ = rowdata['driveenergy'].mean() except KeyError: rowdata['driveenergy'] = 500. # test if we have power - nopower = 1 try: - test = rowdata['power'].mean() - nopower = 0 + _ = rowdata['power'].mean() except KeyError: rowdata['power'] = 50. @@ -5516,9 +5437,7 @@ def interactive_flex_chart2(id, r, promember=0, if rowdata.empty: return "", "No valid data", '', '', workstrokesonly - workoutstateswork = [1, 4, 5, 8, 9, 6, 7] workoutstatesrest = [3] - workoutstatetransition = [0, 2, 10, 11, 12, 13] if workstrokesonly: # pragma: no cover try: @@ -5533,13 +5452,11 @@ def interactive_flex_chart2(id, r, promember=0, try: rowdata['x1'] = rowdata.loc[:, xparam] - rowmin = rowdata[xparam].min() except KeyError: # pragma: no cover rowdata['x1'] = 0*rowdata.loc[:, 'time'] try: rowdata['y1'] = rowdata.loc[:, yparam1] - rowmin = rowdata[yparam1].min() except KeyError: # pragma: no cover rowdata['y1'] = 0*rowdata.loc[:, 'time'] rowdata[yparam1] = rowdata['y1'] @@ -5547,7 +5464,6 @@ def interactive_flex_chart2(id, r, promember=0, if yparam2 != 'None': try: rowdata['y2'] = rowdata.loc[:, yparam2] - rowmin = rowdata[yparam2].min() except KeyError: # pragma: no cover rowdata['y2'] = 0*rowdata.loc[:, 'time'] rowdata[yparam2] = rowdata['y2'] @@ -5639,13 +5555,9 @@ def interactive_flex_chart2(id, r, promember=0, toolbar_sticky=False, plot_width=800, plot_height=600, ) plot.sizing_mode = 'stretch_both' - #plot.width_policy = 'max' # add watermark watermarkurl = "/static/img/logo7.png" - watermarksource = ColumnDataSource(dict( - url=[watermarkurl],)) - watermarkrange = Range1d(start=0, end=1) watermarkalpha = 0.6 watermarkx = 0.99 @@ -6005,14 +5917,6 @@ def interactive_flex_chart2(id, r, promember=0, slider_dist_max.js_on_change('value', callback) callback.args["maxdist"] = slider_dist_max - #annotation.sizing_mode = 'fixed' - #slider_spm_min.sizing_mode = 'fixed' - #slider_spm_max.sizing_mode = 'fixed' - #slider_work_min.sizing_mode = 'fixed' - #slider_work_max.sizing_mode = 'fixed' - #slider_dist_min.sizing_mode = 'fixed' - #slider_dist_max.sizing_mode = 'fixed' - thesliders = layoutcolumn([ annotation, slider_spm_min, @@ -6023,15 +5927,12 @@ def interactive_flex_chart2(id, r, promember=0, slider_work_max, ]) - #thesliders.sizing_mode = 'fixed' - - layout = layoutrow([thesliders, - plot]) + mylayout = layoutrow([thesliders, plot]) # layout.sizing_mode = 'stretch_both' - layout.sizing_mode = 'stretch_both' + mylayout.sizing_mode = 'stretch_both' - script, div = components(layout) + script, div = components(mylayout) js_resources = INLINE.render_js() css_resources = INLINE.render_css() @@ -6074,9 +5975,9 @@ def thumbnails_set(r, id, favorites): # except KeyError: # pass - l = len(rowdata) + lengte = len(rowdata) maxlength = 50 - if l > maxlength: + if lengte > maxlength: try: bins = np.linspace(rowdata['time'].min(), rowdata['time'].max(), maxlength) @@ -6086,7 +5987,6 @@ def thumbnails_set(r, id, favorites): pass for f in favorites: - workstrokesonly = not f.reststrokes script, div = thumbnail_flex_chart( rowdata, id=id, @@ -6112,12 +6012,12 @@ def thumbnail_flex_chart(rowdata, id=0, promember=0, workstrokesonly=False): try: - tests = rowdata[yparam2] + _ = rowdata[yparam2] except KeyError: yparam2 = 'None' try: - tests = rowdata[yparam1] + _ = rowdata[yparam1] except KeyError: yparam1 = 'None' @@ -6161,7 +6061,6 @@ def thumbnail_flex_chart(rowdata, id=0, promember=0, if yparam1 == 'pace': # pragma: no cover y_axis_type = 'datetime' - y1mean = rowdata.loc[:, 'pace'].mean() rowdata['xname'] = axlabels[xparam] try: @@ -6178,7 +6077,6 @@ def thumbnail_flex_chart(rowdata, id=0, promember=0, rowdata ) - sizing_mode = 'fixed' # 'stretch_both' also looks nice with this example plot = Figure(x_axis_type=x_axis_type, y_axis_type=y_axis_type, plot_width=200, plot_height=150, ) @@ -6188,7 +6086,6 @@ def thumbnail_flex_chart(rowdata, id=0, promember=0, plot.sizing_mode = 'fixed' plot.toolbar.logo = None plot.toolbar_location = None - #plot.yaxis.visible = False plot.xaxis.axis_label_text_font_size = "7pt" plot.yaxis.axis_label_text_font_size = "7pt" plot.xaxis.major_label_text_font_size = "7pt" @@ -6297,12 +6194,6 @@ def interactive_multiple_compare_chart(ids, xparam, yparam, plottype='line', except: return ['', '

A chart data error occurred

', '', 'A chart data error occurred'] - yparamname = axlabels[yparam] - - #datadf = datadf[datadf[yparam] > 0] - - #datadf = datadf[datadf[xparam] > 0] - # check if dataframe not empty if datadf.empty: # pragma: no cover return ['', '

No non-zero data in selection

', '', 'No non-zero data in selection'] @@ -6350,11 +6241,6 @@ def interactive_multiple_compare_chart(ids, xparam, yparam, plottype='line', if xparam == 'time': x_axis_type = 'datetime' - if xparam != 'time': - xvals = xaxmin+np.arange(100)*(xaxmax-xaxmin)/100. - else: - xvals = np.arange(100) - plot = Figure(x_axis_type=x_axis_type, y_axis_type=y_axis_type, tools=TOOLS, toolbar_location="above", @@ -6363,16 +6249,10 @@ def interactive_multiple_compare_chart(ids, xparam, yparam, plottype='line', # add watermark watermarkurl = "/static/img/logo7.png" - watermarksource = ColumnDataSource(dict( - url=[watermarkurl],)) - watermarkrange = Range1d(start=0, end=1) watermarkalpha = 0.6 - watermarkx = 0.99 - watermarky = 0.01 watermarkw = 184 watermarkh = 35 - watermarkanchor = 'bottom_right' plot.extra_y_ranges = {"watermark": watermarkrange} plot.extra_x_ranges = {"watermark": watermarkrange} plot.sizing_mode = 'stretch_both' @@ -6475,7 +6355,7 @@ def interactive_multiple_compare_chart(ids, xparam, yparam, plottype='line', try: legend_label = labeldict[id] except KeyError: # pragma: no cover - legend = str(id) + legend_label = str(id) else: # pragma: no cover legend_label = str(id) @@ -6549,9 +6429,6 @@ def interactive_otw_advanced_pace_chart(id=0, promember=0): # add watermark watermarkurl = "/static/img/logo7.png" - watermarksource = ColumnDataSource(dict( - url=[watermarkurl],)) - watermarkrange = Range1d(start=0, end=1) watermarkalpha = 0.6 watermarkx = 0.99 @@ -6625,10 +6502,6 @@ def interactive_otw_advanced_pace_chart(id=0, promember=0): def get_zones_report(rower, startdate, enddate, trainingzones='hr', date_agg='week', yaxis='time'): - duration = enddate-startdate - - totaldays = duration.total_seconds()/(24*3600) - dates = [] dates_sorting = [] minutes = [] @@ -6657,14 +6530,10 @@ def get_zones_report(rower, startdate, enddate, trainingzones='hr', date_agg='we df = dataprep.clean_df_stats(df, workstrokesonly=False, ignoreadvanced=True, ignorehr=False) - #totalmeters,totalhours, totalminutes, totalseconds = get_totals(workouts) - hrzones = rower.hrzones powerzones = rower.powerzones for w in workouts: - dd = w.date.strftime('%m/%d') - dd2 = w.date.strftime('%Y/%m/%d') dd3 = w.date.strftime('%Y/%m') dd4 = '{year}/{week:02d}'.format( week=arrow.get(w.date).isocalendar()[1], @@ -6798,7 +6667,6 @@ def get_zones_report(rower, startdate, enddate, trainingzones='hr', date_agg='we pass while d <= enddate: - dd = d.strftime('%d') if date_agg == 'week': dd4 = '{year}/{week:02d}'.format( week=arrow.get(d).isocalendar()[1], @@ -6842,12 +6710,6 @@ def interactive_zoneschart(rower, data, startdate, enddate, trainingzones='hr', startdate = enddate enddate = st - duration = enddate-startdate - - totaldays = duration.total_seconds()/(24*3600) - - colors = ['gray', 'yellow', 'lime', 'blue', 'purple', 'red'] - hrzones = rower.hrzones powerzones = rower.powerzones @@ -6893,10 +6755,6 @@ def interactive_zoneschart(rower, data, startdate, enddate, trainingzones='hr', df.drop('minutes', inplace=True, axis='columns') - # df.drop('hours',inplace=True,axis='columns') - - source = ColumnDataSource(df) - df.sort_values('date_sorting', inplace=True) df.drop('date_sorting', inplace=True, axis='columns') df['totaltime'] = 0 @@ -6927,7 +6785,6 @@ def interactive_zoneschart(rower, data, startdate, enddate, trainingzones='hr', bars = hv.Bars(df, kdims=['date', 'zones']).aggregate( function=np.sum).redim.values(zones=zones_order) - #bars = table.to.bars(['date','zones'],['minutes']) bars.opts( opts.Bars(cmap=color_map, show_legend=True, stacked=True, tools=['tap', 'hover'], width=550, padding=(0, (0, .1)), diff --git a/tox.ini b/tox.ini index 61e7c50e..763b93d2 100644 --- a/tox.ini +++ b/tox.ini @@ -1,4 +1,4 @@ [flake8] -ignore = F405, F403, E722, E226, W504, F401, W605 +ignore = F405, F403, E722, E226, W504, F401, W605, E501 max-line-length = 120 exclude = .git, rowers/migrations, rowers/tests, rowers/admin.py