diff --git a/code/corelation.py b/code/corelation.py index 45a587e..3e2eef0 100644 --- a/code/corelation.py +++ b/code/corelation.py @@ -102,20 +102,38 @@ combined_data.to_csv(combined_data_path, index=False) correlation = combined_data['avg_hr'].corr(combined_data['Durchschnittliche Dauer']) print(f"Die Korrelation zwischen der durchschnittlichen Herzfrequenz und der Schlafdauer ist: {correlation}") -# Schritt 5: Visualisiere den Zusammenhang zwischen Herzfrequenz und Schlafdauer (invertierte x-Achse) +# # Schritt 5: Visualisiere den Zusammenhang zwischen Herzfrequenz und Schlafdauer (invertierte x-Achse) +# plt.figure(figsize=(10, 6)) +# plt.scatter(combined_data['avg_hr'], combined_data['Durchschnittliche Dauer'], color='blue', label='Datenpunkte') +# plt.title('Zusammenhang zwischen Herzfrequenz (Durchschnitt) und Schlafdauer') +# plt.xlabel('Durchschnittliche Herzfrequenz (bpm)') +# plt.ylabel('Schlafdauer (Stunden)') +# plt.grid(True) +# m, b = np.polyfit(combined_data['avg_hr'], combined_data['Durchschnittliche Dauer'], 1) +# plt.plot(combined_data['avg_hr'], m * combined_data['avg_hr'] + b, color='red', label=f'Trendlinie (Kor = {correlation:.2f})') +# plt.gca().invert_xaxis() # X-Achse invertieren +# plt.legend() +# plt.savefig(graphic_corr_path) +# plt.show() + +# Schritt 5: Visualisiere den Zusammenhang zwischen Herzfrequenz und Schlafdauer (invertierte y-Achse) plt.figure(figsize=(10, 6)) -plt.scatter(combined_data['avg_hr'], combined_data['Durchschnittliche Dauer'], color='blue', label='Datenpunkte') -plt.title('Zusammenhang zwischen Herzfrequenz (Durchschnitt) und Schlafdauer') -plt.xlabel('Durchschnittliche Herzfrequenz (bpm)') -plt.ylabel('Schlafdauer (Stunden)') +plt.scatter(combined_data['Durchschnittliche Dauer'], combined_data['avg_hr'], color='blue', label='Datenpunkte') +plt.title('Zusammenhang zwischen Schlafdauer und Herzfrequenz (Durchschnitt)') +plt.xlabel('Schlafdauer (Stunden)') +plt.ylabel('Durchschnittliche Herzfrequenz (bpm)') plt.grid(True) -m, b = np.polyfit(combined_data['avg_hr'], combined_data['Durchschnittliche Dauer'], 1) -plt.plot(combined_data['avg_hr'], m * combined_data['avg_hr'] + b, color='red', label=f'Trendlinie (Kor = {correlation:.2f})') -plt.gca().invert_xaxis() # X-Achse invertieren + +# Berechne und zeichne die Trendlinie (umgekehrt) +m, b = np.polyfit(combined_data['Durchschnittliche Dauer'], combined_data['avg_hr'], 1) +plt.plot(combined_data['Durchschnittliche Dauer'], m * combined_data['Durchschnittliche Dauer'] + b, color='red', label=f'Trendlinie (Kor = {correlation:.2f})') + +plt.gca().invert_yaxis() # Y-Achse invertieren, da die Herzfrequenz auf der Y-Achse ist plt.legend() plt.savefig(graphic_corr_path) plt.show() + # Schritt 6: Erstelle eine Grafik pro Kalenderwoche (HR und Schlafdaten) fig, ax1 = plt.subplots(figsize=(30, 8)) # Breitere Darstellung diff --git a/data/final/gramic_sleep_hr_correlation.png b/data/final/gramic_sleep_hr_correlation.png index 5a5d6f9..4157e7f 100644 Binary files a/data/final/gramic_sleep_hr_correlation.png and b/data/final/gramic_sleep_hr_correlation.png differ