From 0fceaafba60c70d23dbc2c80291da82cf1906a1a Mon Sep 17 00:00:00 2001 From: Daniel Svitan Date: Sat, 21 Dec 2024 21:09:00 +0100 Subject: [PATCH] :zap: Adds sleep graph --- analyze.py | 9 ++++++--- analyze_sleep.py | 19 ++++++++++++------- 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/analyze.py b/analyze.py index a1aaf5a..f8af8d4 100644 --- a/analyze.py +++ b/analyze.py @@ -31,9 +31,10 @@ def plot_violin(data, labels, Fs, ps, title): if not graph: return - titles = ["Priemer", "Matematika", "Slovenčina", "Angličtina"] + grade_names = ["Priemer", "Matematika", "Slovenčina", "Angličtina"] + grade_name_labels = ["Priemer známok", "Známka z matematiky", "Známka zo slovenčiny", "Známka z angličtiny"] - fig, axs = plt.subplots(2, 2, sharex=True) + fig, axs = plt.subplots(2, 2) fig.suptitle(title) fig.set_size_inches(12, 9) @@ -43,7 +44,9 @@ def plot_violin(data, labels, Fs, ps, title): step = 1 if index > 0 else 0.5 axs[j, k].violinplot(data[index], showmeans=True) - axs[j, k].set_title(titles[index]) + axs[j, k].set_title(grade_names[index]) + axs[j, k].set_xlabel(title, fontweight="bold") + axs[j, k].set_ylabel(grade_name_labels[index], fontweight="bold") axs[j, k].set_xticks(np.arange(1, len(labels) + 1), labels=labels) axs[j, k].set_yticks(np.arange(1, 5.01, step)) diff --git a/analyze_sleep.py b/analyze_sleep.py index 9f5f3de..1023e36 100644 --- a/analyze_sleep.py +++ b/analyze_sleep.py @@ -1,6 +1,6 @@ import numpy as np -from analyze import analyze +from analyze import analyze, plot_violin dataset = np.load("clean.npy") print(f"dataset shape: {dataset.shape}; analyzing column 10 (sleep)") @@ -12,14 +12,19 @@ print("") def analyze_ses(name: str, col: np.ndarray): sex_col = dataset[:, 10] - analyze(name, [ + data = [ col[sex_col == 0], col[sex_col == 1], col[sex_col == 2] - ]) + ] + F, p = analyze(name, data) + return data, F, p -analyze_ses("gpa", dataset[:, 2]) -analyze_ses("math", dataset[:, 3]) -analyze_ses("slovak", dataset[:, 4]) -analyze_ses("english", dataset[:, 5]) +data_gpa, F_gpa, p_gpa = analyze_ses("gpa", dataset[:, 2]) +data_math, F_math, p_math = analyze_ses("math", dataset[:, 3]) +data_slovak, F_slovak, p_slovak = analyze_ses("slovak", dataset[:, 4]) +data_english, F_english, p_english = analyze_ses("english", dataset[:, 5]) + +plot_violin([data_gpa, data_math, data_slovak, data_english], ["Krátky", "Stredný", "Dlhý"], + [F_gpa, F_math, F_slovak, F_english], [p_gpa, p_math, p_slovak, p_english], "Spánok")