fisios, QS, aucs

adicion de gauges de fisiometrias, QS.
cambio de comida/glucómetro a AUCs.
parent 79992256
...@@ -4,7 +4,7 @@ import plotly.graph_objects as go ...@@ -4,7 +4,7 @@ import plotly.graph_objects as go
import plotly.express as px import plotly.express as px
data = ( data = (
pd.read_csv("inventarioA.csv") pd.read_csv("inventario.csv")
) )
...@@ -40,7 +40,7 @@ app.layout = html.Div( ...@@ -40,7 +40,7 @@ app.layout = html.Div(
), ),
html.P( html.P(
children=( children=(
"Recuento de los datos asociados a cada participante " "Recuento de los datos asociados a " + str(len(data.index)) + " participantes "
), ),
className="header-description", className="header-description",
), ),
...@@ -48,14 +48,38 @@ app.layout = html.Div( ...@@ -48,14 +48,38 @@ app.layout = html.Div(
className="header", className="header",
), ),
html.Div(children=[ html.Div(children=[
html.Div(children="Etapa", className="menu-title"),
dcc.Dropdown(
id="etapaSel",
options=[
{"label":1, "value":1},
{"label":2, "value":2},
{"label":3, "value":3},
{"label":"Global", "value":99}
],
# options=[
# {
# "label": etapa,
# "value": etapa,
# }
# for etapa in [1,2,3]
# ],
value=99,
clearable=False,
searchable=False,
className="dropdown",
),
],
),
html.Div(children=[
html.Div(children=[ html.Div(children=[
"Min. Comidas", "Selectedfoods",
dcc.Slider( dcc.Slider(
id="min_comida", id="min_comida",
min=1, min=1,
max=Comidas_totales_e, max=Comidas_totales_e,
value=Comidas_totales_e, value=Comidas_totales_e,
# marks={10:"babjo", 50:"medio", 100:"alto"} marks={1:"1",10:"10", 42:"42", Comidas_totales_e:str(Comidas_totales_e)}
), ),
"Dias con Glucómetro", "Dias con Glucómetro",
dcc.Slider( dcc.Slider(
...@@ -63,24 +87,49 @@ app.layout = html.Div( ...@@ -63,24 +87,49 @@ app.layout = html.Div(
min=1, min=1,
max=Glucometro_e, max=Glucometro_e,
value=Glucometro_e, value=Glucometro_e,
#marks={10:"low", 50:"medium", 100:"alto"}) marks={1:"1", 14:"14", 28:"28", 42:"+42"}
), ),
"Visitas", "AUCs",
dcc.Slider( dcc.Slider(
id="min_visitas", id="min_aucs",
min=1,
max=Comidas_totales_e,
value=Comidas_totales_e,
marks={1:"1", 10:"10", 42:"42", Comidas_totales_e:str(Comidas_totales_e)}
),
"Microbiota",
dcc.Slider(
id="min_microbiota",
min=1, min=1,
max=Visitas_e, max=Visitas_e,
value=Visitas_e, value=Visitas_e,
marks={1:"1", 2:"2", 3:"3", 4:"4"} marks={1:"1", 2:"2", 3:"3", 4:"4"}
), ),
"Microbiota", "Fisiometría",
dcc.Slider( dcc.Slider(
id="min_microbiota", id="min_fismet",
min=1,
max=Visitas_e,
value=Visitas_e,
marks={1:"1", 2:"2", 3:"3", 4:"4"}
),
"qs",
dcc.Slider(
id="min_qs",
min=1,
max=Visitas_e,
value=Visitas_e,
marks={1:"1", 2:"2", 3:"3", 4:"4"}
),
"Visitas",
dcc.Slider(
id="min_visitas",
min=1, min=1,
max=Visitas_e, max=Visitas_e,
value=Visitas_e, value=Visitas_e,
marks={1:"1", 2:"2", 3:"3", 4:"4"} marks={1:"1", 2:"2", 3:"3", 4:"4"}
) ),
] ]
), ),
...@@ -116,13 +165,17 @@ app.layout = html.Div( ...@@ -116,13 +165,17 @@ app.layout = html.Div(
@app.callback( @app.callback(
Output("multi-chart", "figure"), Output("multi-chart", "figure"),
Input("etapaSel", "value"),
Input("min_comida", "value"), Input("min_comida", "value"),
Input("min_glucosa", "value"), Input("min_glucosa", "value"),
Input("min_microbiota", "value"), Input("min_aucs", "value"),
Input("min_microbiota", "value"),
Input("min_fismet", "value"),
Input("min_qs", "value"),
Input("min_visitas", "value"), Input("min_visitas", "value"),
) )
def update_charts(min_comida, min_glucosa, min_microbiota, min_visitas): def update_charts(etapaSel,min_comida, min_glucosa, min_aucs, min_microbiota, min_fismet,min_qs, min_visitas):
total_data = len(data.index) total_data = len(data.index)
gauges = { gauges = {
'shape': "bullet", 'shape': "bullet",
...@@ -160,11 +213,20 @@ def update_charts(min_comida, min_glucosa, min_microbiota, min_visitas): ...@@ -160,11 +213,20 @@ def update_charts(min_comida, min_glucosa, min_microbiota, min_visitas):
gauge = gauges gauge = gauges
)) ))
medibles_data = data.query("medibles >= @min_comida") if etapaSel == 1:
medibles_data = data.query("FoodsE1 >= @min_aucs")
if etapaSel == 2:
medibles_data = data.query("FoodsE2 >= @min_aucs")
if etapaSel == 3:
medibles_data = data.query("FoodsE3 >= @min_aucs")
if etapaSel == 99:
medibles_data = data.query("medibles >= @min_aucs")
multi.add_trace(go.Indicator( multi.add_trace(go.Indicator(
value = 100 * medibles_data["medibles"].count() / Total_pacientes, value = 100 * medibles_data["medibles"].count() / Total_pacientes,
domain = {'x': [0.25, 1], 'y': [0.7, 0.8]}, domain = {'x': [0.25, 1], 'y': [0.7, 0.8]},
title = {'text': "Comidas/glucómetro"}, title = {'text': "AUCs"},
mode = modes, mode = modes,
number = numbers, number = numbers,
gauge = gauges gauge = gauges
...@@ -191,6 +253,29 @@ def update_charts(min_comida, min_glucosa, min_microbiota, min_visitas): ...@@ -191,6 +253,29 @@ def update_charts(min_comida, min_glucosa, min_microbiota, min_visitas):
gauge = gauges gauge = gauges
)) ))
fismet_data = data.query("FISMET >= @min_fismet")
multi.add_trace(go.Indicator(
value = 100 * fismet_data["medibles"].count() / Total_pacientes,
# value = min_microbiota,
domain = {'x': [0.25, 1], 'y': [0.4, 0.5]},
title = {'text': "Fisiomet"},
mode = modes,
number = numbers,
gauge = gauges
))
qs_data = data.query("QS >= @min_qs")
multi.add_trace(go.Indicator(
value = 100 * qs_data["medibles"].count() / Total_pacientes,
# value = min_microbiota,
domain = {'x': [0.25, 1], 'y': [0.3, 0.4]},
title = {'text': "QS"},
mode = modes,
number = numbers,
gauge = gauges
))
visitas_data = data.query("Nvisitas >= @min_visitas") visitas_data = data.query("Nvisitas >= @min_visitas")
multi.add_trace(go.Indicator( multi.add_trace(go.Indicator(
value = 100 * visitas_data["medibles"].count() / Total_pacientes, value = 100 * visitas_data["medibles"].count() / Total_pacientes,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment