{% set stroke_width = 4 %} {% set margin = 2 %} {% macro path(data_points, vb_height) %} {% for value, position in data_points %} {% set x = (position * vb_width)+margin %} {% set y = (vb_height - value)+margin %} {% if loop.first %}M{{ x | int }} {{ y | int }}{% else %} L{{ x | int }} {{ y | int }}{% endif %} {% endfor %} {% endmacro %} {% macro path_best_fit(best_fit_points, vb_height) %} {% for value, position in best_fit_points %} {% set x = (position * vb_width)+margin %} {% set y = (vb_height - value)+margin %} {% if loop.first %}M{{ x | int }} {{ y | int }}{% else %} L{{ x | int }} {{ y | int }}{% endif %} {% endfor %} {% endmacro %} {% macro circles(data_points, color) %} {% for value, position in data_points %} {% set x = (position * vb_width)+margin %} {% set y = (vb_height - value)+margin %} {% endfor %} {% endmacro %} {% macro plot_line(points, color) %} {{ circles(points, color) }} {% endmacro %} {% macro random_int() %}{% for n in [0,1,2,3,4,5] %}{{ [0,1,2,3,4,5,6,7,8,9]|random }}{% endfor %}{% endmacro %} {% set parts = [random_int()] %} {% set unique_id = parts|join('-') %}

{{ title }}

{% if best_fit_formula %} {{ best_fit_formula.kg_per_week }} kg/week, {{ best_fit_formula.kg_per_month }} kg/month {% endif %}

{% for epoch in epochs %}
{% if epoch == 'Custom' %} {% else %} {{ epoch}} {% endif %}
{% endfor %}
{% if selected_epoch == 'Custom' %}
{% endif %} {% for plot in plots %} {{ plot_line(plot.points, plot.color) }} {% endfor %} {% for pos, message in plot_labels %} {% set x = (pos * vb_width) - (stroke_width/2) + margin %} {% set y = 0 %} {% set width = stroke_width %} {% set height = vb_height + margin %} {% endfor %}
{% for plot in plots %}
{{ plot.label }}
{% endfor %}