Compare commits
No commits in common. "e261018aa492302a6641e00bf4c9f85233a51662" and "fc25be87e986b561b8edb4032f0f0a173102cad8" have entirely different histories.
e261018aa4
...
fc25be87e9
|
|
@ -1,5 +1,4 @@
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from plotly.graph_objs import Figure
|
|
||||||
from plotly.subplots import make_subplots
|
from plotly.subplots import make_subplots
|
||||||
|
|
||||||
from corchestrate.chart_data import ChartData
|
from corchestrate.chart_data import ChartData
|
||||||
|
|
@ -14,6 +13,8 @@ def plot_over_time(input_data: list[ChartData]):
|
||||||
|
|
||||||
datetime_indices = []
|
datetime_indices = []
|
||||||
|
|
||||||
|
fig = make_subplots(5, 1)
|
||||||
|
|
||||||
while True:
|
while True:
|
||||||
min_datetime: datetime | None = None
|
min_datetime: datetime | None = None
|
||||||
# Find min_datetime
|
# Find min_datetime
|
||||||
|
|
@ -42,9 +43,6 @@ def plot_over_time(input_data: list[ChartData]):
|
||||||
if current_measurement is None:
|
if current_measurement is None:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
# Ensure min_datetime is minimum.
|
|
||||||
assert current_measurement.measured_at >= min_datetime
|
|
||||||
|
|
||||||
if current_measurement.measured_at == min_datetime:
|
if current_measurement.measured_at == min_datetime:
|
||||||
indexed_input.extracted_heart_rate.append(
|
indexed_input.extracted_heart_rate.append(
|
||||||
current_measurement.heart_rate)
|
current_measurement.heart_rate)
|
||||||
|
|
@ -57,37 +55,33 @@ def plot_over_time(input_data: list[ChartData]):
|
||||||
# Advance to next index
|
# Advance to next index
|
||||||
indexed_input.next()
|
indexed_input.next()
|
||||||
|
|
||||||
heart_rate_figure = Figure()
|
|
||||||
speed_figure = Figure()
|
|
||||||
cadence_figure = Figure()
|
|
||||||
power_figure = Figure()
|
|
||||||
temperature_figure = Figure()
|
|
||||||
|
|
||||||
# Plot
|
# Plot
|
||||||
for indexed_input in indexed_inputs:
|
for indexed_input in indexed_inputs:
|
||||||
heart_rate_figure.add_scatter(x=datetime_indices,
|
fig.add_scatter(x=datetime_indices,
|
||||||
y=indexed_input.extracted_heart_rate,
|
y=indexed_input.extracted_heart_rate,
|
||||||
name=indexed_input.name,
|
row=1,
|
||||||
hoverlabel=dict(namelength=-1))
|
col=1,
|
||||||
speed_figure.add_scatter(x=datetime_indices,
|
name=f"Heart rate - {indexed_input.name}")
|
||||||
y=indexed_input.extracted_speed,
|
fig.add_scatter(x=datetime_indices,
|
||||||
name=indexed_input.name,
|
y=indexed_input.extracted_speed,
|
||||||
hoverlabel=dict(namelength=-1))
|
row=2,
|
||||||
cadence_figure.add_scatter(x=datetime_indices,
|
col=1,
|
||||||
y=indexed_input.extracted_cadence,
|
name=f"Speed - {indexed_input.name}")
|
||||||
name=indexed_input.name,
|
fig.add_scatter(x=datetime_indices,
|
||||||
hoverlabel=dict(namelength=-1))
|
y=indexed_input.extracted_cadence,
|
||||||
power_figure.add_scatter(x=datetime_indices,
|
row=3,
|
||||||
y=indexed_input.extracted_power,
|
col=1,
|
||||||
name=indexed_input.name,
|
name=f"Cadence - {indexed_input.name}")
|
||||||
hoverlabel=dict(namelength=-1))
|
fig.add_scatter(x=datetime_indices,
|
||||||
temperature_figure.add_scatter(
|
y=indexed_input.extracted_power,
|
||||||
x=datetime_indices,
|
row=4,
|
||||||
y=indexed_input.extracted_temperature,
|
col=1,
|
||||||
name=f"Temperature - {indexed_input.name}")
|
name=f"Power - {indexed_input.name}")
|
||||||
|
fig.add_scatter(x=datetime_indices,
|
||||||
|
y=indexed_input.extracted_temperature,
|
||||||
|
row=5,
|
||||||
|
col=1,
|
||||||
|
name=f"Temperature - {indexed_input.name}")
|
||||||
|
|
||||||
heart_rate_figure.write_html("hr.html", auto_open=True)
|
fig.update_layout(height=3000)
|
||||||
speed_figure.write_html("speed.html", auto_open=True)
|
fig.show()
|
||||||
cadence_figure.write_html("cad.html", auto_open=True)
|
|
||||||
power_figure.write_html("pwr.html", auto_open=True)
|
|
||||||
temperature_figure.write_html("temp.html", auto_open=True)
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue