From 3cf663850a5c998c5f51729cc1d4e356df444d53 Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Fri, 22 Mar 2024 13:20:17 +0100 Subject: [PATCH] removing redundant code --- rowers/interactiveplots.py | 285 ------------------------------------- 1 file changed, 285 deletions(-) diff --git a/rowers/interactiveplots.py b/rowers/interactiveplots.py index 02a417d9..8551c179 100644 --- a/rowers/interactiveplots.py +++ b/rowers/interactiveplots.py @@ -4006,291 +4006,6 @@ def interactive_flexchart_stacked(id, r, xparam='time', return script, div - if xparam == 'time': - xaxmax = tseconds.max() - xaxmin = tseconds.min() - elif xparam == 'distance' or xparam == 'cumdist': # pragma: no cover - xaxmax = rowdata['x1'].max() - xaxmin = rowdata['x1'].min() - else: # pragma: no cover - try: - xaxmax = get_yaxmaxima(r, xparam, mode) - xaxmin = get_yaxminima(r, xparam, mode) - except KeyError: - xaxmax = rowdata['x1'].max() - xaxmin = rowdata['x1'].min() - - x_axis_type = 'linear' - y1_axis_type = 'linear' - y2_axis_type = 'linear' - y3_axis_type = 'linear' - y4_axis_type = 'linear' - if xparam == 'time': - x_axis_type = 'datetime' - - if yparam1 == 'pace': # pragma: no cover - y1_axis_type = 'datetime' - - if yparam2 == 'pace': # pragma: no cover - y2_axis_type = 'datetime' - - if yparam3 == 'pace': # pragma: no cover - y3_axis_type = 'datetime' - - if yparam4 == 'pace': # pragma: no cover - y4_axis_type = 'datetime' - - try: - rowdata['xname'] = axlabels[xparam] - except KeyError: # pragma: no cover - rowdata['xname'] = xparam - - try: - rowdata['yname1'] = axlabels[yparam1] - except KeyError: # pragma: no cover - rowdata['yname1'] = yparam1 - - try: - rowdata['yname2'] = axlabels[yparam2] - except KeyError: # pragma: no cover - rowdata['yname2'] = yparam2 - - try: - rowdata['yname3'] = axlabels[yparam3] - except KeyError: # pragma: no cover - rowdata['yname3'] = yparam3 - - try: - rowdata['yname4'] = axlabels[yparam4] - except KeyError: # pragma: no cover - rowdata['yname4'] = yparam4 - - # prepare data - source = ColumnDataSource( - rowdata - ) - - TOOLS = 'box_zoom,wheel_zoom,reset,tap,hover' - TOOLS2 = 'box_zoom,hover' - - plot1 = figure(x_axis_type=x_axis_type, y_axis_type=y1_axis_type, width=920, height=150, - tools=TOOLS, toolbar_location='above') - plot2 = figure(x_axis_type=x_axis_type, y_axis_type=y2_axis_type, width=920, height=150, - tools=TOOLS2, toolbar_location=None) - plot3 = figure(x_axis_type=x_axis_type, y_axis_type=y3_axis_type, width=920, height=150, - tools=TOOLS2, toolbar_location=None) - plot4 = figure(x_axis_type=x_axis_type, y_axis_type=y4_axis_type, width=920, height=150, - tools=TOOLS2, toolbar_location=None) - - plot1.xaxis.visible = False - plot2.xaxis.visible = False - plot3.xaxis.visible = False - - #plot1.sizing_mode = 'stretch_both' - #plot2.sizing_mode = 'stretch_both' - #plot3.sizing_mode = 'stretch_both' - #plot4.sizing_mode = 'stretch_both' - - linked_crosshair = CrosshairTool(dimensions="height") - plot1.add_tools(linked_crosshair) - plot2.add_tools(linked_crosshair) - plot3.add_tools(linked_crosshair) - plot4.add_tools(linked_crosshair) - - xaxlabel = axlabels.get(xparam, xparam) - yax1label = axlabels.get(yparam1, yparam1) - - plot1.yaxis.axis_label = yax1label - - yax2label = axlabels.get(yparam2, yparam2) - - plot2.yaxis.axis_label = yax2label - - yax3label = axlabels.get(yparam3, yparam3) - - plot3.yaxis.axis_label = yax3label - - yax4label = axlabels.get(yparam4, yparam4) - - plot4.yaxis.axis_label = yax4label - - plot4.xaxis.axis_label = xaxlabel - - xrange1 = Range1d(start=xaxmin, end=xaxmax) - plot1.x_range = xrange1 - plot2.x_range = xrange1 - plot3.x_range = xrange1 - plot4.x_range = xrange1 - - if xparam == 'time': - plot4.xaxis[0].formatter = DatetimeTickFormatter( - hours=["%H"], - minutes=["%M"], - seconds=["%S"], - days=["0"], - months=[""], - years=[""] - ) - - hover1 = plot1.select(dict(type=HoverTool)) - hover2 = plot2.select(dict(type=HoverTool)) - hover3 = plot3.select(dict(type=HoverTool)) - hover4 = plot4.select(dict(type=HoverTool)) - - if yparam1 == 'pace': - y1tooltip = '@fpace' - elif yparam1 != 'None': # pragma: no cover - y1tooltip = '@{yparam1}'.format(yparam1=yparam1) - if metricsdicts[yparam1]['numtype'] == 'integer' or yparam1 == 'power': - y1tooltip += '{int}' - else: # pragma: no cover - y1tooltip += '{0.00}' - else: # pragma: no cover - y1tooltip = '' - comment = 'The metric in the first chart is only accessible with a Pro plan or higher' - - if yparam2 == 'pace': # pragma: no cover - y2tooltip = '@fpace' - elif yparam2 != 'None': - y2tooltip = '@{yparam2}'.format(yparam2=yparam2) - if metricsdicts[yparam2]['numtype'] == 'integer' or yparam2 == 'power': - y2tooltip += '{int}' - else: # pragma: no cover - y2tooltip += '{0.00}' - else: # pragma: no cover - y2tooltip = '' - comment = 'The metric in the second chart is only accessible with a Pro plan or higher' - - if yparam3 == 'pace': # pragma: no cover - y3tooltip = '@fpace' - elif yparam3 != 'None': - y3tooltip = '@{yparam3}'.format(yparam3=yparam3) - if metricsdicts[yparam3]['numtype'] == 'integer' or yparam3 == 'power': - y3tooltip += '{int}' - else: # pragma: no cover - y3tooltip += '{0.00}' - else: # pragma: no cover - y3tooltip = '' - comment = 'The metric in the third chart is only accessible with a Pro plan or higher' - - if yparam4 == 'pace': # pragma: no cover - y4tooltip = '@fpace' - elif yparam4 != 'None': - y4tooltip = '@{yparam4}'.format(yparam4=yparam4) - if metricsdicts[yparam4]['numtype'] == 'integer' or yparam4 == 'power': # pragma: no cover - y4tooltip += '{int}' - else: # pragma: no cover - y4tooltip += '{0.00}' - else: # pragma: no cover - y4tooltip = '' - comment = 'The metric in the fourth chart is only accessible with a Pro plan or higher' - - if yparam1 != 'None': - hover1.tooltips = OrderedDict([ - ('Time', '@ftime'), - ('Distance', '@distance{int}'), - (axlabels[yparam1], y1tooltip), - (axlabels[yparam2], y2tooltip), - (axlabels[yparam3], y3tooltip), - (axlabels[yparam4], y4tooltip), - ]) - if yparam2 != 'None': - hover2.tooltips = OrderedDict([ - ('Time', '@ftime'), - ('Distance', '@distance{int}'), - (axlabels[yparam1], y1tooltip), - (axlabels[yparam2], y2tooltip), - (axlabels[yparam3], y3tooltip), - (axlabels[yparam4], y4tooltip), - ]) - - if yparam3 != 'None': - hover3.tooltips = OrderedDict([ - ('Time', '@ftime'), - ('Distance', '@distance{int}'), - (axlabels[yparam1], y1tooltip), - (axlabels[yparam2], y2tooltip), - (axlabels[yparam3], y3tooltip), - (axlabels[yparam4], y4tooltip), - ]) - - if yparam4 != 'None': - hover4.tooltips = OrderedDict([ - ('Time', '@ftime'), - ('Distance', '@distance{int}'), - (axlabels[yparam1], y1tooltip), - (axlabels[yparam2], y2tooltip), - (axlabels[yparam3], y3tooltip), - (axlabels[yparam4], y4tooltip), - ]) - - hover1.mode = 'vline' - hover2.mode = 'vline' - hover3.mode = 'vline' - hover4.mode = 'vline' - - y1min = get_yaxminima(r, yparam1, mode) - y2min = get_yaxminima(r, yparam2, mode) - y3min = get_yaxminima(r, yparam3, mode) - y4min = get_yaxminima(r, yparam4, mode) - - y1max = get_yaxmaxima(r, yparam1, mode) - y2max = get_yaxmaxima(r, yparam2, mode) - y3max = get_yaxmaxima(r, yparam3, mode) - y4max = get_yaxmaxima(r, yparam4, mode) - - plot1.y_range = Range1d(start=y1min, end=y1max) - plot2.y_range = Range1d(start=y2min, end=y2max) - plot3.y_range = Range1d(start=y3min, end=y3max) - plot4.y_range = Range1d(start=y4min, end=y4max) - - if yparam1 == 'pace': - plot1.yaxis[0].formatter = DatetimeTickFormatter( - seconds=["%S"], - minutes=["%M"] - ) - plot1.y_range = Range1d(y1min, y1max) - - if yparam2 == 'pace': # pragma: no cover - plot2.yaxis[0].formatter = DatetimeTickFormatter( - seconds=["%S"], - minutes=["%M"] - ) - plot2.y_range = Range1d(y2min, y2max) - - if yparam3 == 'pace': # pragma: no cover - plot3.yaxis[0].formatter = DatetimeTickFormatter( - seconds=["%S"], - minutes=["%M"] - ) - plot3.y_range = Range1d(y3min, y3max) - - if yparam4 == 'pace': # pragma: no cover - plot4.yaxis[0].formatter = DatetimeTickFormatter( - seconds=["%S"], - minutes=["%M"] - ) - plot4.y_range = Range1d(y4min, y4max) - - plot1.line('x1', 'y1', source=source, color=palette2[1]) - plot2.line('x1', 'y2', source=source, color=palette2[3]) - plot3.line('x1', 'y3', source=source, color=palette2[0]) - plot4.line('x1', 'y4', source=source, color=palette2[2]) - - mylayout = layoutcolumn([ - plot1, - plot2, - plot3, - plot4, - ]) - - #mylayout.sizing_mode = 'stretch_both' - - script, div = components(mylayout) - js_resources = INLINE.render_js() - css_resources = INLINE.render_css() - - return script, div, js_resources, css_resources, comment def interactive_flex_chart2(id, r, promember=0,