Fix: get back exam graphs

This commit is contained in:
Bertrand Benjamin 2021-01-21 14:01:57 +01:00
parent 412e624791
commit eb1abbe868
1 changed files with 49 additions and 37 deletions

View File

@ -11,7 +11,6 @@ from pathlib import Path
from datetime import datetime from datetime import datetime
import pandas as pd import pandas as pd
import numpy as np import numpy as np
import dash_bootstrap_components as dbc
from ... import flat_df_students, pp_q_scores from ... import flat_df_students, pp_q_scores
@ -75,40 +74,53 @@ layout = html.Div(
), ),
html.Div( html.Div(
[ [
"Evaluation: ", html.Div(
dbc.Select(id="csv"), dash_table.DataTable(
] id="final_score_table",
), columns=[
], {"id": "Élève", "name": "Élève"},
), {"id": "Note", "name": "Note"},
html.H2("Résultats"), {"id": "Barème", "name": "Barème"},
dbc.Row( ],
[ data=[],
dbc.Col( style_data_conditional=[
dash_table.DataTable( {
id="final_score_table", "if": {"row_index": "odd"},
columns=[ "backgroundColor": "rgb(248, 248, 248)",
{"id": "Eleve", "name": "Élève"}, }
{"id": "Note", "name": "Note"}, ],
{"id": "Bareme", "name": "Barème"}, style_data={
], "width": "100px",
data=[], "maxWidth": "100px",
style_data_conditional=[ "minWidth": "100px",
{ },
"if": {"row_index": "odd"}, ),
"backgroundColor": "rgb(248, 248, 248)", id="final_score_table_container",
} ),
], html.Div(
style_header={ [
"backgroundColor": "rgb(230, 230, 230)", dash_table.DataTable(
"fontWeight": "bold", id="final_score_describe",
}, columns=[
style_data={ {"id": "count", "name": "count"},
"width": "100px", {"id": "mean", "name": "mean"},
"maxWidth": "100px", {"id": "std", "name": "std"},
"minWidth": "100px", {"id": "min", "name": "min"},
}, {"id": "25%", "name": "25%"},
) {"id": "50%", "name": "50%"},
{"id": "75%", "name": "75%"},
{"id": "max", "name": "max"},
],
),
dcc.Graph(
id="fig_assessment_hist",
),
dcc.Graph(id="fig_competences"),
],
id="desc_plots",
),
],
id="analysis",
), ),
html.Div( html.Div(
[ [
@ -218,7 +230,7 @@ def update_final_scores_hist(data):
assessment_scores = pd.DataFrame.from_records(data) assessment_scores = pd.DataFrame.from_records(data)
if assessment_scores.empty: if assessment_scores.empty:
return [{'data': [], 'layout':[]}] return [{"data": [], "layout": []}]
ranges = np.linspace( ranges = np.linspace(
-0.5, -0.5,
@ -265,7 +277,7 @@ def update_competence_fig(data):
scores = flat_df_students(scores).dropna(subset=["Score"]) scores = flat_df_students(scores).dropna(subset=["Score"])
if scores.empty: if scores.empty:
return [{'data': [], 'layout':[]}] return [{"data": [], "layout": []}]
scores = pp_q_scores(scores) scores = pp_q_scores(scores)
pt = pd.pivot_table( pt = pd.pivot_table(