From 9e87b1f17605d33e67904331078ea1b50a02b507 Mon Sep 17 00:00:00 2001 From: junos Date: Wed, 4 Aug 2021 17:41:09 +0200 Subject: [PATCH] Add an option to print figures and set font sizes. --- exploration/expl_esm_adherence.py | 3 +- statistical_analysis/adherence.py | 62 ++++++++++++++++++++----------- 2 files changed, 43 insertions(+), 22 deletions(-) diff --git a/exploration/expl_esm_adherence.py b/exploration/expl_esm_adherence.py index c86d9eb..d7faceb 100644 --- a/exploration/expl_esm_adherence.py +++ b/exploration/expl_esm_adherence.py @@ -6,7 +6,7 @@ # extension: .py # format_name: percent # format_version: '1.3' -# jupytext_version: 1.11.2 +# jupytext_version: 1.11.4 # kernelspec: # display_name: straw2analysis # language: python @@ -14,6 +14,7 @@ # --- # %% +# %matplotlib inline import os import sys diff --git a/statistical_analysis/adherence.py b/statistical_analysis/adherence.py index 24e4d98..93122ba 100644 --- a/statistical_analysis/adherence.py +++ b/statistical_analysis/adherence.py @@ -6,7 +6,7 @@ # extension: .py # format_name: percent # format_version: '1.3' -# jupytext_version: 1.11.2 +# jupytext_version: 1.11.4 # kernelspec: # display_name: straw2analysis # language: python @@ -14,12 +14,12 @@ # --- # %% +# %matplotlib inline import datetime - -# %% import os import sys +import matplotlib.pyplot as plt import pandas as pd import seaborn as sns import statsmodels.api as sm @@ -31,6 +31,24 @@ if nb_dir not in sys.path: import participants.query_db from features.esm import * +# %% +SAVE_FIGS = True +FIG_HEIGHT = 5 +FIG_ASPECT = 1.6 +FIG_COLOUR = "#28827C" + +SMALL_SIZE = 10 +MEDIUM_SIZE = 12 +BIGGER_SIZE = 14 + +plt.rc("font", size=SMALL_SIZE) # controls default text sizes +plt.rc("axes", titlesize=SMALL_SIZE) # fontsize of the axes title +plt.rc("axes", labelsize=MEDIUM_SIZE) # fontsize of the x and y labels +plt.rc("xtick", labelsize=SMALL_SIZE) # fontsize of the tick labels +plt.rc("ytick", labelsize=SMALL_SIZE) # fontsize of the tick labels +plt.rc("legend", fontsize=SMALL_SIZE) # legend fontsize +plt.rc("figure", titlesize=BIGGER_SIZE) # fontsize of the figure title + # %% baseline_si = pd.read_csv("E:/STRAWbaseline/results-survey637813.csv") baseline_be_1 = pd.read_csv("E:/STRAWbaseline/results-survey358134.csv") @@ -130,7 +148,7 @@ df_adherence.describe() df_adherence[["gender", "startlanguage"]].value_counts() # %% -sns.displot(df_adherence["finished_sessions"], binwidth=5, height=5) +sns.displot(df_adherence["finished_sessions"], binwidth=5, height=FIG_HEIGHT) # %% lm_adherence = smf.ols( @@ -224,12 +242,14 @@ df_session_workday = df_session_workday.assign( g1 = sns.displot( df_session_workday["time_diff_minutes"], binwidth=5, - height=5, - aspect=1.5, - color="#28827C", + height=FIG_HEIGHT, + aspect=FIG_ASPECT, + color=FIG_COLOUR, ) g1.set_axis_labels("Time difference [min]", "Session count") -# g1.savefig("WorkdayEMAtimeDiff.pdf") +g1.set(xlim=(0, 570)) +if SAVE_FIGS: + g1.savefig("WorkdayEMAtimeDiff.pdf") # %% [markdown] # There are some sessions that are really close together. By design, none should be closer than 30 min. Let's take a look at those. @@ -296,12 +316,13 @@ df_mean_daytime_interval.describe() g2 = sns.displot( df_mean_daytime_interval.time_diff_minutes, binwidth=5, - height=5, - aspect=1.5, - color="#28827C", + height=FIG_HEIGHT, + aspect=FIG_ASPECT, + color=FIG_COLOUR, ) g2.set_axis_labels("Median time difference [min]", "Participant count") -# g2.savefig("WorkdayEMAtimeDiffMedianParticip.pdf") +if SAVE_FIGS: + g2.savefig("WorkdayEMAtimeDiffMedianParticip.pdf") # %% df_adherence = df_adherence.merge( @@ -327,9 +348,9 @@ df_count_daytime_per_participant["time"].describe() sns.displot( df_count_daytime_per_participant.time, binwidth=1, - height=5, - aspect=1.5, - color="#28827C", + height=FIG_HEIGHT, + aspect=FIG_ASPECT, + color=FIG_COLOUR, ) # %% [markdown] @@ -364,13 +385,14 @@ s_evening_completed_ratio.describe() g3 = sns.displot( s_evening_completed_ratio - 0.001, binwidth=0.05, - height=5, - aspect=1.5, - color="#28827C", + height=FIG_HEIGHT, + aspect=FIG_ASPECT, + color=FIG_COLOUR, ) g3.set_axis_labels("Ratio of days with the evening EMA filled out", "Participant count") g3.set(xlim=(1.01, 0.59)) -# g3.savefig("EveningEMAratioParticip.pdf") +if SAVE_FIGS: + g3.savefig("EveningEMAratioParticip.pdf") # %% df_adherence = df_adherence.merge( @@ -386,5 +408,3 @@ lr_ols_evening_ratio = smf.ols( ) ls_result_evening_ratio = lr_ols_evening_ratio.fit() ls_result_evening_ratio.summary() - -# %%