Adds sleep graph

This commit is contained in:
Daniel Svitan 2024-12-21 21:09:00 +01:00
parent 2103716f79
commit 0fceaafba6
2 changed files with 18 additions and 10 deletions

View File

@ -31,9 +31,10 @@ def plot_violin(data, labels, Fs, ps, title):
if not graph: if not graph:
return 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.suptitle(title)
fig.set_size_inches(12, 9) 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 step = 1 if index > 0 else 0.5
axs[j, k].violinplot(data[index], showmeans=True) 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_xticks(np.arange(1, len(labels) + 1), labels=labels)
axs[j, k].set_yticks(np.arange(1, 5.01, step)) axs[j, k].set_yticks(np.arange(1, 5.01, step))

View File

@ -1,6 +1,6 @@
import numpy as np import numpy as np
from analyze import analyze from analyze import analyze, plot_violin
dataset = np.load("clean.npy") dataset = np.load("clean.npy")
print(f"dataset shape: {dataset.shape}; analyzing column 10 (sleep)") print(f"dataset shape: {dataset.shape}; analyzing column 10 (sleep)")
@ -12,14 +12,19 @@ print("")
def analyze_ses(name: str, col: np.ndarray): def analyze_ses(name: str, col: np.ndarray):
sex_col = dataset[:, 10] sex_col = dataset[:, 10]
analyze(name, [ data = [
col[sex_col == 0], col[sex_col == 0],
col[sex_col == 1], col[sex_col == 1],
col[sex_col == 2] col[sex_col == 2]
]) ]
F, p = analyze(name, data)
return data, F, p
analyze_ses("gpa", dataset[:, 2]) data_gpa, F_gpa, p_gpa = analyze_ses("gpa", dataset[:, 2])
analyze_ses("math", dataset[:, 3]) data_math, F_math, p_math = analyze_ses("math", dataset[:, 3])
analyze_ses("slovak", dataset[:, 4]) data_slovak, F_slovak, p_slovak = analyze_ses("slovak", dataset[:, 4])
analyze_ses("english", dataset[:, 5]) 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")