stacked indicators para comidas y glucosa.

se agregagó una gráfica "stacked" y dos sliders, uno para cada gráfica
en el stacked graph.
parent 627f3bbe
...@@ -40,18 +40,37 @@ app.layout = html.Div( ...@@ -40,18 +40,37 @@ app.layout = html.Div(
], ],
className="header", className="header",
), ),
html.Div(children=[
html.Div(children=[
"Min. Comidas",
dcc.Slider(
id="comida-slider",
min=1,
max=42,
value=10,
# marks={10:"babjo", 50:"medio", 100:"alto"}
),
"Dias con Glucómetro",
dcc.Slider(
id="glucosa-slider",
min=1,
max=42,
value=7,
#marks={10:"low", 50:"medium", 100:"alto"})
)
]
),
dcc.Graph(id="multi-chart")],
className="wrapper"),
html.Div( html.Div(
children=[ children=[
html.Div(children="Mínimo de comidas", className="menu-title"), html.Div(children="Mínimo de comidas", className="menu-title"),
dcc.Dropdown( dcc.Slider(
id="comidas-filter", id="comidas-filter",
options=[ min=0,
{"label": comida, "value": comida} max=40,
for comida in comidas
],
value=10, value=10,
clearable=False, marks={10:"10", 20:"20", 30:"30", 40:"40"},
className="dropdown",
), ),
dcc.Graph( dcc.Graph(
id="comidas-chart", id="comidas-chart",
...@@ -108,13 +127,16 @@ app.layout = html.Div( ...@@ -108,13 +127,16 @@ app.layout = html.Div(
Output("comidas-chart", "figure"), Output("comidas-chart", "figure"),
Output("glucosa-chart", "figure"), Output("glucosa-chart", "figure"),
Output("visitas-chart", "figure"), Output("visitas-chart", "figure"),
Output("multi-chart", "figure"),
Input("comidas-filter", "value"), Input("comidas-filter", "value"),
Input("glucosa-filter", "value"), Input("glucosa-filter", "value"),
Input("visitas-filter", "value"), Input("visitas-filter", "value"),
Input("comida-slider", "value"),
Input("glucosa-slider", "value"),
) )
def update_charts(ncomidas, glucosa, nvisitas): def update_charts(ncomidas, glucosa, nvisitas, comidaslider, glucosaslider):
filtered_data = data.query( filtered_data = data.query(
"medibles >= @ncomidas" "Selectedfoods >= @ncomidas"
) )
total_data = len(data.index) total_data = len(data.index)
comidas_chart_figure = go.Figure(go.Indicator( comidas_chart_figure = go.Figure(go.Indicator(
...@@ -141,8 +163,49 @@ def update_charts(ncomidas, glucosa, nvisitas): ...@@ -141,8 +163,49 @@ def update_charts(ncomidas, glucosa, nvisitas):
gauge = {'axis': {'range': [None, total_data]}, 'shape': 'bullet'})) gauge = {'axis': {'range': [None, total_data]}, 'shape': 'bullet'}))
return comidas_chart_figure, glucosa_chart_figure, visitas_chart_figure multi = go.Figure()
comidas_data = data.query("Selectedfoods >= @comidaslider")
multi.add_trace(go.Indicator(
mode = "number+gauge+delta", value = comidas_data["medibles"].count(),
delta = {'reference': 200},
domain = {'x': [0.25, 1], 'y': [0.08, 0.25]},
title = {'text': "Con comidas"},
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"}}))
glucosa_data2 = data.query("Days_glucose >= @glucosaslider")
multi.add_trace(go.Indicator(
mode = "number+gauge+delta", value = glucosa_data2["medibles"].count(),
delta = {'reference': 200},
domain = {'x': [0.25, 1], 'y': [0.4, 0.6]},
title = {'text': "Glucómetro"},
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
if __name__ == "__main__": if __name__ == "__main__":
app.run_server(debug=True) app.run_server(debug=True, port=8051)
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