2022-11-19 01:25:22 +04:00

39 lines
998 B
Python

import plotly.express as px
import json
import streamlit as st
from pathlib import Path
data_dir = Path(__file__).resolve().parent.parent / 'data'
st.set_page_config(page_title='Health Data Visualization',
page_icon=':bar_chart:',
layout='wide')
with open(data_dir / 'huawei_health_data.json') as f:
data = json.load(f)
heart_rate = []
for i in range(len(data)):
if data[i]['type'] == 7:
heart_rate.append(float(data[i]['samplePoints'][0]['value']))
st.sidebar.header('Split Data:')
average_number = st.sidebar.number_input(
f'Amount of data split (0 - {len(heart_rate)-1}): ',
step=1,
min_value=0,
max_value=len(heart_rate)-1
)
if average_number > 1:
heart_rate2 = []
for i in range(0, len(heart_rate), average_number):
t = heart_rate[i:i + average_number]
heart_rate2.append(sum(t) / len(t))
heart_rate = heart_rate2
st.plotly_chart(
px.line(x=range(len(heart_rate)), y=heart_rate)
)