def plot_doze (self): """ """ done = False while not done : cmd = utils.print_second_menu() if cmd == 'pie' : #Pie chart vals = [] keys = [] for i, k in enumerate(self.doze): vals.append(len(self.doze[k])) keys.append(k) plt.figure(figsize=(6,6)) plt.pie(vals, labels=keys, autopct='%1.1f%%') plt.show() elif cmd == 'line' : vals = [] keys = [] dic = {} for k, v in self.doze.items(): dic[k] = len(v) sorted_list = sorted(dic.items(), key=operator.itemgetter(1), reverse=True) for each in sorted_list: (k, v) = each vals.append(v) keys.append(k) plt.plot(vals) plt.xticks(np.arange(len(keys)), keys) plt.show() elif cmd == 'bar' : for i, k in enumerate(self.doze): plt.bar(i, len(self.doze[k])) plt.xticks(np.arange(len(self.doze)) + 0.4, self.doze.keys()) plt.show() elif cmd == 'delay' : done = False while not done : opt = utils.print_option_menu(self.dozen_dozens) if opt == 'done' : break delay = [] v = self.doze[opt + 'x'] for ind in range(len(v) - 1): delay.append(v[ind + 1] - v[ind]) plt.plot(delay, label=opt + 'x') print (delay) plt.title('Delay') plt.xlabel('Times raffled') plt.ylabel('Delay between raffles') plt.legend() plt.show() elif cmd == 'freq' : done = False while not done : opt = utils.print_option_menu(self.done) if opt == 'done' : break delay = [] v = self.doze[opt + 'x'] for ind in range(len(v) - 1): delay.append(v[ind + 1] - v[ind]) delay.sort() plt.plot(delay, label=opt + 'x') print (delay) plt.title('Delay') plt.xlabel('Times raffled') plt.ylabel('Delay between raffles') plt.legend() plt.show() elif cmd == 'done' : done = True else : print ("I don't understand the command " + cmd)
def plot_rule (self): """ """ done = False while not done : dic = {str(i + 1): 'e' + str(i) + 'xo' + str(j) for i in range(0, self.doz_by_raffle + 1) for j in reversed(range(0, self.doz_by_raffle + 1)) if (i+j) == self.doz_by_raffle} cmd = utils.print_second_menu() if cmd == 'pie' : #Pie chart vals = [] keys = [] for i, k in enumerate(self.even_odd): vals.append(len(self.even_odd[k])) keys.append(k) plt.figure(figsize=(6,6)) plt.pie(vals, labels=keys, autopct='%1.1f%%') plt.show() elif cmd == 'line' : vals = [] keys = [] dic = {} for k, v in self.even_odd.items(): dic[k] = len(v) sorted_list = sorted(dic.items(), key=operator.itemgetter(1), reverse=True) for each in sorted_list: (k, v) = each vals.append(v) keys.append(k) plt.plot(vals) plt.xticks(np.arange(len(keys)), keys) plt.show() elif cmd == 'bar' : for i, k in enumerate(self.even_odd): plt.bar(i, len(self.even_odd[k])) plt.xticks(np.arange(len(self.even_odd)) + 0.4, self.even_odd.keys()) plt.show() elif cmd == 'delay' : done = False while not done : print ('') print ('\033[92m' + "Choose the rule option:" + '\033[0m') print ('') for el in range(0, self.doz_by_raffle + 1): print ("{} - {}".format(el + 1, 'e' + str(el) + 'xo' + str(self.doz_by_raffle - el))) print ("done : exit the program") print ('') cmd = raw_input('\033[92m' + 'Enter your option (or done): ' + '\033[0m') print ('') if cmd == 'done' : break delay = [] v = self.even_odd[dic[cmd]] for ind in range(len(v) - 1): delay.append(v[ind + 1] - v[ind]) plt.plot(delay, label=dic[cmd]) print (delay) plt.title('Delay') plt.xlabel('Times raffled') plt.ylabel('Delay between raffles') plt.legend() plt.show() elif cmd == 'freq' : done = False while not done : print ('') print ('\033[92m' + "Choose the rule option:" + '\033[0m') print ('') for el in range(0, self.doz_by_raffle + 1): print ("{} - {}".format(el + 1, 'e' + str(el) + 'xo' + str(self.doz_by_raffle - el))) print ("done : exit the program") print ('') cmd = raw_input('\033[92m' + 'Enter your option (or done): ' + '\033[0m') print ('') if cmd == 'done' : break delay = [] v = self.even_odd[dic[cmd]] for ind in range(len(v) - 1): delay.append(v[ind + 1] - v[ind]) delay.sort() plt.plot(delay, label=dic[cmd]) print (delay) plt.title('Delay') plt.xlabel('Times raffled') plt.ylabel('Delay between raffles') plt.legend() plt.show() elif cmd == 'done' : done = True else : print ("I don't understand the command " + cmd)