ProfessorLeVesseur commited on
Commit
4eb7186
·
verified ·
1 Parent(s): 0caf191

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +12 -13
app.py CHANGED
@@ -376,27 +376,26 @@ def compute_student_metrics(df):
376
  engagement_pct = (sum_engagement_values / number_sessions_attended) * 100 if number_sessions_attended > 0 else 0
377
  engagement_pct = round(engagement_pct) # Round to whole number
378
 
379
- # # Store metrics
380
- # student_metrics[student_name] = {
381
- # 'Attendance (%)': attendance_pct,
382
- # 'Engagement (%)': engagement_pct
383
- # }
384
-
385
- # Store metrics with percentage sign
386
  student_metrics[student_name] = {
387
- 'Attendance (%)': f"{attendance_pct}%", # Add percentage sign
388
- 'Engagement (%)': f"{engagement_pct}%" # Add percentage sign
389
  }
390
 
 
 
 
 
 
 
391
  # Create a DataFrame from student_metrics
392
  student_metrics_df = pd.DataFrame.from_dict(student_metrics, orient='index').reset_index()
393
  student_metrics_df.rename(columns={'index': 'Student'}, inplace=True)
394
  return student_metrics_df
395
 
396
-
397
  def plot_student_metrics(student_metrics_df):
398
  # Create the figure and axis
399
- fig, ax = plt.subplots(figsize=(10, 6)) # Optional: Increased figure size for better readability
400
 
401
  # Width for the bars
402
  bar_width = 0.35 # Width of the bars
@@ -416,12 +415,12 @@ def plot_student_metrics(student_metrics_df):
416
  for bar in attendance_bars:
417
  height = bar.get_height()
418
  ax.text(bar.get_x() + bar.get_width() / 2, height,
419
- f'{height:.1f}%', ha='center', va='bottom', color='black')
420
 
421
  for bar in engagement_bars:
422
  height = bar.get_height()
423
  ax.text(bar.get_x() + bar.get_width() / 2, height,
424
- f'{height:.1f}%', ha='center', va='bottom', color='black')
425
 
426
  # Set labels, title, and legend
427
  ax.set_xlabel('Student')
 
376
  engagement_pct = (sum_engagement_values / number_sessions_attended) * 100 if number_sessions_attended > 0 else 0
377
  engagement_pct = round(engagement_pct) # Round to whole number
378
 
379
+ # Store metrics
 
 
 
 
 
 
380
  student_metrics[student_name] = {
381
+ 'Attendance (%)': attendance_pct,
382
+ 'Engagement (%)': engagement_pct
383
  }
384
 
385
+ # # Store metrics with percentage sign
386
+ # student_metrics[student_name] = {
387
+ # 'Attendance (%)': f"{attendance_pct}%", # Add percentage sign
388
+ # 'Engagement (%)': f"{engagement_pct}%" # Add percentage sign
389
+ # }
390
+
391
  # Create a DataFrame from student_metrics
392
  student_metrics_df = pd.DataFrame.from_dict(student_metrics, orient='index').reset_index()
393
  student_metrics_df.rename(columns={'index': 'Student'}, inplace=True)
394
  return student_metrics_df
395
 
 
396
  def plot_student_metrics(student_metrics_df):
397
  # Create the figure and axis
398
+ fig, ax = plt.subplots(figsize=(10, 6)) # Increased figure size for better readability
399
 
400
  # Width for the bars
401
  bar_width = 0.35 # Width of the bars
 
415
  for bar in attendance_bars:
416
  height = bar.get_height()
417
  ax.text(bar.get_x() + bar.get_width() / 2, height,
418
+ f'{height:.0f}%', ha='center', va='bottom', color='black') # No decimal for integer percentage
419
 
420
  for bar in engagement_bars:
421
  height = bar.get_height()
422
  ax.text(bar.get_x() + bar.get_width() / 2, height,
423
+ f'{height:.0f}%', ha='center', va='bottom', color='black') # No decimal for integer percentage
424
 
425
  # Set labels, title, and legend
426
  ax.set_xlabel('Student')