|
import gradio as gr |
|
import pandas as pd |
|
import matplotlib.pyplot as plt |
|
|
|
|
|
def visualize_progress(file): |
|
df = pd.read_csv(file.name) |
|
|
|
plt.figure(figsize=(10,6)) |
|
for student in df['student_name'].unique(): |
|
student_data = df[df['student_name'] == student] |
|
plt.plot(student_data['date'], student_data['score'], label=student) |
|
|
|
plt.xlabel('Date') |
|
plt.ylabel('Score') |
|
plt.title('Student Progress Over Time') |
|
plt.legend() |
|
plt.grid(True) |
|
|
|
plt.savefig('progress.png') |
|
return 'progress.png' |
|
|
|
|
|
with gr.Blocks() as demo: |
|
gr.Markdown("# Student Progress Analysis Tool") |
|
|
|
|
|
file_input = gr.File(label="Upload Student Data (CSV)") |
|
output_image = gr.Image(label="Progress Chart") |
|
|
|
|
|
file_input.change(visualize_progress, inputs=file_input, outputs=output_image) |
|
|
|
demo.launch() |