reelabooración de las gráficas de detalle de visitas

ahora hay una gráfica que muestra la cobertura de las variables que se
registran en las visitas.
parent 9a1d3edb
......@@ -2,12 +2,16 @@ import pandas as pd
from dash import Dash, Input, Output, dcc, html
import plotly.graph_objects as go
import plotly.express as px
import requests
import numpy as np
url = 'https://nutricion.c3.unam.mx/nd/'
data_o = (
pd.read_csv("inventario.csv")
)
data_o["paciente"] = data_o["paciente"].astype("str") + "_p"
data_o["Secuenciaciones"] = 0
Visitas_e = 4
Etapas_e = 3
Comidas_E1_e = 42
......@@ -258,26 +262,6 @@ app.layout = html.Div(
),
], className="wrapper"
),
html.Div(
children=[
html.Div(children="Medida", className="menu-title"),
dcc.Dropdown(
id="pruebasVisita",
options=[
{"label":"Antropometría", "value":"antrop-mets"},
{"label":"Qumíca Sanguinea", "value":"quimica-S"},
{"label":"C.Corporal", "value":"comp-corp"},
{"label":"Fisiológicos", "value":"physiological"},
{"label":"C. Tolerancia", "value":"tolerancia"},
],
value='antrop-mets',
clearable=False,
searchable=False,
className="dropdown",
),
], className="wrapper",
),
], style={"display":"flex", "flexDirection": "row"},
),
......@@ -301,7 +285,6 @@ app.layout = html.Div(
{"label":"1", "value":1},
{"label":"2", "value":2},
{"label":"3", "value":3},
{"label":"No-Clas.", "value":4},
{"label":"Total", "value":5},
],
value=1,
......@@ -335,11 +318,10 @@ app.layout = html.Div(
Input("etapaDet", "value"),
Input("visitaSel", "value"),
Input("visitaPruebas", "value"),
Input("pruebasVisita", "value"),
Input("mesurableEt", "value"),
)
def update_charts(etapaSel,min_comidas, min_glucosa, medidaDet, etapaDet, visitaSel, visitaPruebas, pruebasVisita, mesurableEt):
def update_charts(etapaSel,min_comidas, min_glucosa, medidaDet, etapaDet, visitaSel, visitaPruebas, mesurableEt):
contados ={}
total_data = len(data.index)
gauges = {
......@@ -527,18 +509,24 @@ def update_charts(etapaSel,min_comidas, min_glucosa, medidaDet, etapaDet, visita
gauge = gauges,
))
visitaCad = pruebasVisita + str(visitaPruebas)
url_visitas = url + "/visits/" + str(visitaPruebas) + "/patients-data/"
t1 = requests.get(url_visitas).json()["patient_data"]
df = pd.json_normalize(t1)
df.drop(["tolerance_curve_measure","id","name","finished_periods","include_in_analysis","patient_visit_id", "visit_date","sample"], inplace=True, axis=1)
l1 = [ { cf["controlled_food"]: cf["increment_auc"] for cf in tolerance["tolerance_curve_measure"] } for tolerance in t1 ]
df.rename(columns= lambda x: x.split(".")[1] if "." in x else x, inplace=True)
df1 = pd.concat([df, pd.DataFrame(l1)], axis=1)
# df1 = df
cuentas = 100 * df1.replace("",np.nan).count() / len(df1)
detalle_pruebas = {
"data": [
{
"x": data["paciente"],
"y": data[visitaCad],
"x": cuentas.index,
"y": cuentas,
"type": "bar",
}
],
"layout": {
"title": {"text": pruebasVisita + " " + str(visitaPruebas)}
}
}
......
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