diff --git a/rowers/interactiveplots.py b/rowers/interactiveplots.py index 3bd2fb0e..d16e0c20 100644 --- a/rowers/interactiveplots.py +++ b/rowers/interactiveplots.py @@ -749,9 +749,10 @@ def fitnessmetric_chart(fitnessmetrics,user,workoutmode='rower'): ) plot.xaxis.major_label_orientation = pi/4 + plot.sizing_mode = 'scale_width' plot.y_range = Range1d(0,1.5*max(power4min)) - plot.title.text = 'Power levels from workouts '+user.first_name + plot.title.text = 'Power levels ('+workoutmode+') from workouts '+user.first_name hover = plot.select(dict(type=HoverTool)) @@ -1579,6 +1580,7 @@ def interactive_otwcpchart(powerdf,promember=0,rowername=""): # add watermark plot.extra_y_ranges = {"watermark": watermarkrange} + plot.sizing_mode = 'scale_width' plot.image_url([watermarkurl],1.8*max(thesecs),watermarky, watermarkw,watermarkh, @@ -1867,6 +1869,7 @@ def interactive_cpchart(rower,thedistances,thesecs,theavpower, # add watermark plot.extra_y_ranges = {"watermark": watermarkrange} + plot.sizing_mode = 'scale_width' plot.image_url([watermarkurl],1.8*max(thesecs),watermarky, watermarkw,watermarkh, diff --git a/rowers/templates/fitnessmetric.html b/rowers/templates/fitnessmetric.html index cba71c9b..fd8d5d03 100644 --- a/rowers/templates/fitnessmetric.html +++ b/rowers/templates/fitnessmetric.html @@ -1,10 +1,10 @@ -{% extends "base.html" %} +{% extends "newbase.html" %} {% load staticfiles %} {% load rowerfilters %} {% block title %}Rowsandall Fitness Progress {% endblock %} -{% block content %} +{% block main %} - +{% if rower.user %} +
Summary for {{ theuser.first_name }} {{ theuser.last_name }} - between {{ startdate|date }} and {{ enddate|date }}
+Direct link for other users: - {% if workouttype == 'water' %} - https://rowsandall.com/rowers/{{ id }}/otw-bests/{{ startdate|date:"Y-m-d" }}/{{ enddate|date:"Y-m-d" }} - {% else %} - https://rowsandall.com/rowers/{{ id }}/ote-ranking/{{ startdate|date:"Y-m-d" }}/{{ enddate|date:"Y-m-d" }} - {% endif %} -
+Summary for {{ theuser.first_name }} {{ theuser.last_name }} + between {{ startdate|date }} and {{ enddate|date }}
-The table gives the efforts you marked as Ranking Piece. - The graph shows the best segments from those pieces, plotted as - average power (over the segment) vs the duration of the segment/ - In other words: How long you can hold that power. -
+The table gives the efforts you marked as Ranking Piece. + The graph shows the best segments from those pieces, plotted as + average power (over the segment) vs the duration of the segment/ + In other words: How long you can hold that power. +
-When you change the date range, the algorithm calculates new - parameters in a background process. You may have to reload the - page to get an updated prediction.
-At the bottom of the page, you will find predictions derived from the model.
-Use this form to select a different date range:
-- Select start and end date for a date range: -
When you change the date range, the algorithm calculates new + parameters in a background process. You may have to reload the + page to get an updated prediction.
+At the bottom of the page, you will find predictions derived from the model.
+ +Use this form to select a different date range:
++ Select start and end date for a date range: +
| Distance | -Duration | -Avg Power | -Date | -Avg HR | -Max HR | -Edit | +Distance | +Duration | +Avg Power | +Date | +Avg HR | +Max HR | +Edit |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| {{ workout.distance }} m | -{{ workout.duration |durationprint:"%H:%M:%S.%f" }} | -{{ avgpower|lookup:workout.id }} W | -{{ workout.date }} | -{{ workout.averagehr }} | -{{ workout.maxhr }} | -- {{ workout.name }} | - -|||||||
| {{ workout.distance }} m | +{{ workout.duration |durationprint:"%H:%M:%S.%f" }} | +{{ avgpower|lookup:workout.id }} W | +{{ workout.date }} | +{{ workout.averagehr }} | +{{ workout.maxhr }} | ++ {{ workout.name }} | + +
No ranking workouts found
- {% endif %} + {% endfor %} + +No ranking workouts found
+ {% endif %} + +Add non-ranking piece using the form. The piece will be added in the prediction tables below.
+ + -Add non-ranking piece using the form. The piece will be added in the prediction tables below.
- - - -| Duration | @@ -200,25 +136,24 @@
|---|
Summary for {{ theuser.first_name }} {{ theuser.last_name }} - between {{ startdate|date }} and {{ enddate|date }}
+Direct link for other users: - https://rowsandall.com/rowers/{{ id }}/ote-bests/{{ startdate|date:"Y-m-d" }}/{{ enddate|date:"Y-m-d" }} -
- -The table gives the best efforts achieved on the - official Concept2 ranking pieces in the selected date range. Also the percentile scores on the - chart are based on the Concept2 rankings.
- - -Use this form to select a different date range:
-- Select start and end date for a date range: -
| Distance | -Duration | -Date | -Avg HR | -Max HR | -Edit | -
|---|---|---|---|---|---|
| {{ workout.distance }} | -{{ workout.duration |durationprint:"%H:%M:%S.%f" }} | -{{ workout.date }} | -{{ workout.averagehr }} | -{{ workout.maxhr }} | -- {{ workout.name }} | - -
No ranking workouts found
- {% endif %} - -Missing your best pieces? Upload stroke data of any Concept2 - ranking piece and they will be automatically added to this page.
-Don't have stroke data for official Concept2 ranking pieces? - The PRO membership ranking piece functionality - allows you to include your best non ranking pieces and even use - parts of workouts for improved calculation accuracy. -
- -Want to add race results but you don't have stroke data? - Click here.
- -Scroll down for the chart and pace predictions for ranking pieces.
- -The dashed lines are based on the - Concept2 - rankings for your age, gender - and weight category. World class means within 5% of - - World Record in terms - of power. - The percentile lines are estimates of where the percentiles - of the Concept2 rankings historically are for those of exactly - your age, gender and weight class. -
-{% endif %} -Add non-ranking piece using the form. The piece will be added in the prediction tables below.
-The dashed lines are based on the + Concept2 + rankings for your age, gender + and weight category. World class means within 5% of + + World Record in terms + of power. + The percentile lines are estimates of where the percentiles + of the Concept2 rankings historically are for those of exactly + your age, gender and weight class. +
+ {% endif %} + +| Distance | +Duration | +Date | +Avg HR | +Max HR | +Edit | +
|---|---|---|---|---|---|
| {{ workout.distance }} | +{{ workout.duration |durationprint:"%H:%M:%S.%f" }} | +{{ workout.date }} | +{{ workout.averagehr }} | +{{ workout.maxhr }} | ++ + {{ workout.name }} + + | + +
No ranking workouts found
+ {% endif %} + +Missing your best pieces? Upload stroke data of any Concept2 + ranking piece and they will be automatically added to this page.
+Don't have stroke data for official Concept2 ranking pieces? + The PRO membership ranking piece functionality + allows you to include your best non ranking pieces and even use + parts of workouts for improved calculation accuracy. +
+ +Want to add race results but you don't have stroke data? + Click here.
+ +Scroll down for the chart and pace predictions for ranking pieces.
+ +Add non-ranking piece using the form. The piece will be added in the prediction tables below.
+| Duration | -Distance | -Power | -Pace | -
|---|---|---|---|
| {{ value }} m | - {% endif %} - {% if key == "pace" %} -{{ value |paceprint }} | - {% endif %} - {% if key == "power" %} -{{ value }} W | - {% endif %} - {% if key == "duration" %} -{{ value |deltatimeprint }} | - {% endif %} - {% endfor %} -
Insufficient data to make predictions
- -{% endif %} -| Duration | -Distance | -Power | -Pace | -
|---|---|---|---|
| {{ value }} m | - {% endif %} - {% if key == "pace" %} -{{ value |paceprint }} | - {% endif %} - {% if key == "power" %} -{{ value }} W | - {% endif %} - {% if key == "duration" %} -{{ value |deltatimeprint }} | - {% endif %} - {% endfor %} -
Insufficient data to make predictions
- -{% endif %} -| - 100m - - | -
| - 500m - - | -
| - 1000m - - | -
| - 2000m - - | -
| - 5000m - - | -
| - 6000m - - | -
| - 10000m - - | -
| - Half Marathon - - | -
| - Full Marathon - - | -
| - 1 minute - - | -
| - 4 minutes - - | -
| - 30 minutes - - | -
| - 1 hour - - | -
| Duration | +Distance | +Power | +Pace | +
|---|---|---|---|
| {{ value }} m | + {% endif %} + {% if key == "pace" %} +{{ value |paceprint }} | + {% endif %} + {% if key == "power" %} +{{ value }} W | + {% endif %} + {% if key == "duration" %} +{{ value |deltatimeprint }} | + {% endif %} + {% endfor %} +
Insufficient data to make predictions
+ + {% endif %} + +| Duration | +Distance | +Power | +Pace | +
|---|---|---|---|
| {{ value }} m | + {% endif %} + {% if key == "pace" %} +{{ value |paceprint }} | + {% endif %} + {% if key == "power" %} +{{ value }} W | + {% endif %} + {% if key == "duration" %} +{{ value |deltatimeprint }} | + {% endif %} + {% endfor %} +
Insufficient data to make predictions
+ + {% endif %} +| + 100m + + | +
| + 500m + + | +
| + 1000m + + | +
| + 2000m + + | +
| + 5000m + + | +
| + 6000m + + | +
| + 10000m + + | +
| + Half Marathon + + | +
| + Full Marathon + + | +
| + 1 minute + + | +
| + 4 minutes + + | +
| + 30 minutes + + | +
| + 1 hour + + | +
Use this form to select a different date range:
++ Select start and end date for a date range: + +
Summary for {{ theuser.first_name }} {{ theuser.last_name }} + between {{ startdate|date }} and {{ enddate|date }}
+ +The table gives the best efforts achieved on the + official Concept2 ranking pieces in the selected date range. Also the percentile scores on the + chart are based on the Concept2 rankings.
+