In this file, I tried to plot the monthly trend for individual habit

In [1]:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib
%matplotlib inline
matplotlib.style.use('ggplot')

The following numbers were input by hand. They are generated from Week4_Patterns_final.ipynb

In [2]:
DF_excs_cmp = pd.DataFrame({'May':[1542,1684,1633,1574,1774,1455,1483],
                           'Jun':[2335,2366,1828,1768,1669,1330,1367],
                           'Jul':[2005,2000,2511,2345,2225,1442,1429],
                           'Aug':[3401,2853,2727,2772,2591,2520,2567]})
DF_excs_skp = pd.DataFrame({'May':[250,263,302,309,279,205,218],
                           'Jun':[348,334,279,293,292,217,227],
                           'Jul':[323,310,352,361,337,225,253],
                           'Aug':[528,390,430,399,413,382,367]})
DF_brkf_cmp = pd.DataFrame({'May':[2216,2235,2164,2189,2475,2102,2175],
                           'Jun':[3077,2991,2459,2411,2273,1822,1927],
                           'Jul':[2631,2596,3245,3109,2934,1906,1973],
                           'Aug':[4847,3770,3844,3781,3746,3684,3756]})
DF_brkf_skp = pd.DataFrame({'May':[131,134,131,170,146,123,124],
                           'Jun':[199,185,163,152,159,128,133],
                           'Jul':[166,194,179,186,172,135,140],
                           'Aug':[283,206,230,244,240,268,231]})
In [3]:
DF_excs_cmp = DF_excs_cmp[['May','Jun','Jul','Aug']]
DF_excs_skp = DF_excs_skp[['May','Jun','Jul','Aug']]
DF_brkf_cmp = DF_brkf_cmp[['May','Jun','Jul','Aug']]
DF_brkf_skp = DF_brkf_skp[['May','Jun','Jul','Aug']]

To get the percentage

In [4]:
DF_excs_cmp1 = DF_excs_cmp.loc[:,"May":"Aug"].div(DF_excs_cmp.sum(axis=0))
DF_excs_skp1 = DF_excs_skp.loc[:,"May":"Aug"].div(DF_excs_skp.sum(axis=0))
DF_brkf_cmp1 = DF_brkf_cmp.loc[:,"May":"Aug"].div(DF_brkf_cmp.sum(axis=0))
DF_brkf_skp1 = DF_brkf_skp.loc[:,"May":"Aug"].div(DF_brkf_skp.sum(axis=0))
In [5]:
DF_excs_cmp1
Out[5]:
May Jun Jul Aug
0 0.138358 0.184395 0.143656 0.175030
1 0.151099 0.186844 0.143297 0.146827
2 0.146523 0.144358 0.179910 0.140343
3 0.141229 0.139619 0.168016 0.142659
4 0.159175 0.131801 0.159418 0.133344
5 0.130552 0.105030 0.103317 0.129690
6 0.133064 0.107952 0.102386 0.132108
In [6]:
DF_excs_cmp1.plot(kind = 'bar', width=0.8, figsize = (12.0, 8.0), fontsize = 22)
plt.title('Habit: "Exercise" -- complete pattern')
locs, labels = plt.xticks(np.arange(0,7), ('Mon','Tue','Wed','Thu','Fri','Sat','Sun'))
plt.setp(labels, rotation=45)
plt.rcParams.update({'font.size': 20})
In [7]:
DF_excs_skp1.plot(kind = 'bar', width=0.8, figsize = (12.0, 8.0), fontsize = 22,ylim = [0, 0.25])
plt.title('Habit: "Exercise" -- skip pattern')
locs, labels = plt.xticks(np.arange(0,7), ('Mon','Tue','Wed','Thu','Fri','Sat','Sun'))
plt.setp(labels, rotation=45)
plt.yticks(np.array([0,5,10,15,20])/100.0, ('0','5%','10%','15%','20%'))
plt.rcParams.update({'font.size': 20})
plt.savefig('excs_skp.png')
In [8]:
# complete pattern for breakfast
DF_brkf_cmp1.plot(kind = 'bar', width=0.8, figsize = (12.0, 8.0), fontsize = 22)
plt.title('Habit: "Eat a Great Breakfast" -- complete pattern')
locs, labels = plt.xticks(np.arange(0,7), ('Mon','Tue','Wed','Thu','Fri','Sat','Sun'))
plt.setp(labels, rotation=45)
plt.rcParams.update({'font.size': 20})
In [9]:
DF_brkf_skp1.plot(kind = 'bar', width=0.8, figsize = (12.0, 8.0), fontsize = 22, ylim = [0, 0.25])
plt.title('Habit: "Eat a Great Breakfast" -- skip pattern')
locs, labels = plt.xticks(np.arange(0,7), ('Mon','Tue','Wed','Thu','Fri','Sat','Sun'))
plt.setp(labels, rotation=45)
plt.yticks(np.array([0,5,10,15,20])/100.0, ('0','5%','10%','15%','20%'))
plt.rcParams.update({'font.size': 20})
plt.savefig('brkf_skp.png')