ahora solo se queda el multi con los sliders juntos

incluye ya slider/graf de los tres indicadores: comidas, glucosa,
visitas
parent 639ec94d
......@@ -57,86 +57,32 @@ app.layout = html.Div(
max=42,
value=7,
#marks={10:"low", 50:"medium", 100:"alto"})
),
"Visitas",
dcc.Slider(
id="visitas-slider",
min=1,
max=4,
value=1,
marks={1:"1", 2:"2", 3:"3", 4:"4"}
)
]
),
dcc.Graph(id="multi-chart")],
className="wrapper"),
html.Div(
children=[
html.Div(children="Mínimo de comidas", className="menu-title"),
dcc.Slider(
id="comidas-filter",
min=0,
max=40,
value=10,
marks={10:"10", 20:"20", 30:"30", 40:"40"},
),
dcc.Graph(
id="comidas-chart",
config={"displayModeBar": False},
),
],
className="wrapper"
),
html.Div(
children=[
html.Div(children="Dias con glucómetro", className="menu-title"),
dcc.Dropdown(
id="glucosa-filter",
options=[
{"label": dia, "value": dia}
for dia in glucometro
],
value=14,
clearable=False,
className="dropdown",
),
dcc.Graph(
id="glucosa-chart",
config={"displayModeBar": False},
),
],
className="wrapper"
),
html.Div(
children=[
html.Div(children="Visitas", className="menu-title"),
dcc.Dropdown(
id="visitas-filter",
options=[
{"label": visita, "value": visita}
for visita in visitas
],
value=4,
clearable=False,
className="dropdown",
),
dcc.Graph(
id="visitas-chart",
config={"displayModeBar": False},
),
],
className="wrapper"
),
]
)
@app.callback(
Output("comidas-chart", "figure"),
Output("glucosa-chart", "figure"),
Output("visitas-chart", "figure"),
Output("multi-chart", "figure"),
Input("comidas-filter", "value"),
Input("glucosa-filter", "value"),
Input("visitas-filter", "value"),
Input("comida-slider", "value"),
Input("glucosa-slider", "value"),
Input("visitas-slider", "value"),
)
def update_charts(ncomidas, glucosa, nvisitas, comidaslider, glucosaslider):
def update_charts(comidaslider, glucosaslider, visitaslider):
filtered_data = data.query(
"Selectedfoods >= @ncomidas"
"Selectedfoods >= @comidaslider"
)
total_data = len(data.index)
comidas_chart_figure = go.Figure(go.Indicator(
......@@ -146,7 +92,7 @@ def update_charts(ncomidas, glucosa, nvisitas, comidaslider, glucosaslider):
title = {'text': "Ptes"},
gauge = {'axis': {'range': [None, total_data]}, 'shape': 'bullet'}))
glucosa_data = data.query("Days_glucose >= @glucosa")
glucosa_data = data.query("Days_glucose >= @glucosaslider")
glucosa_chart_figure = go.Figure(go.Indicator(
mode = "gauge+number",
value = glucosa_data["medibles"].count(),
......@@ -154,7 +100,7 @@ def update_charts(ncomidas, glucosa, nvisitas, comidaslider, glucosaslider):
title = {'text': "Ptes"},
gauge = {'axis': {'range': [None, total_data]}, 'shape': 'bullet'}))
visitas_data = data.query("Days_glucose >= @nvisitas")
visitas_data = data.query("Days_glucose >= @visitaslider")
visitas_chart_figure = go.Figure(go.Indicator(
mode = "gauge+number",
value = visitas_data["medibles"].count(),
......@@ -203,8 +149,26 @@ def update_charts(ncomidas, glucosa, nvisitas, comidaslider, glucosaslider):
'bar': {'color': "black"}}))
visitas_data = data.query("Nvisitas >= @visitaslider")
multi.add_trace(go.Indicator(
mode = "number+gauge+delta", value = visitas_data["medibles"].count(),
delta = {'reference': 200},
domain = {'x': [0.25, 1], 'y': [0.75, 0.95]},
title = {'text': "Visitas"},
gauge = {
'shape': "bullet",
'axis': {'range': [None, total_data]},
'threshold': {
'line': {'color': "black", 'width': 2},
'thickness': 0.75,
'value': total_data*0.75},
'steps': [
{'range': [0, total_data*0.25], 'color': "gray"},
{'range': [total_data*0.25, total_data*0.75], 'color': "lightgray"}],
'bar': {'color': "black"}}))
return comidas_chart_figure, glucosa_chart_figure, visitas_chart_figure, multi
return multi
if __name__ == "__main__":
......
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