def plot_aggregate_figure_for_hetero_performance(parsed_data_hetero): prr_by_config_list, spurious_by_config_list, stds_prr, stds_spurious = \ Parser.get_avg_perfect_recall_and_avg_spurious_recall_from_data_for_configs( parsed_data_hetero, iterations_per_config=20, num_of_configs=2) plt.rcParams.update({'font.size': 25}) plt.title('Average number of recalled patterns by subset') # Plotting: width = .35 x = np.asarray([2, 3, 4, 5]) plt.rcParams.update({'font.size': 25}) print prr_by_config_list[0] print prr_by_config_list[1] for list_ctr in range(len(prr_by_config_list)): for el_ctr in range(len(prr_by_config_list[0])): prr_by_config_list[list_ctr][el_ctr] *= (el_ctr+2) spurious_by_config_list[list_ctr][el_ctr] *= (el_ctr+2) # print "prr[0]:", prr_by_config_list[0] p1 = plt.bar(x, prr_by_config_list[0], color='y', width= width) p1_e = plt.bar(x, spurious_by_config_list[0], color='r', width=width, bottom=prr_by_config_list[0]) p2 = plt.bar(x + width, prr_by_config_list[1], color='g', width=width) p2_2 = plt.bar(x + width, spurious_by_config_list[1], color='r', width=width, bottom=prr_by_config_list[1]) plt.ylabel('Average number of recalled patterns') plt.xlabel('Subset size') plt.xticks(x + width, ('2x5', '3x5', '4x5', '5x5')) # plt.yticks(np.arange(0, 6, 1)) plt.legend((p1[0], p2[0], p2_2), ('Perfectly recalled patterns, '+r'$\tau=0.30$', 'Perfectly recalled patterns, '+r'$\tau=0.50$', 'Spuriously recalled patterns'), bbox_to_anchor=(0.73, 1.0), ncol=1, fancybox=True, shadow=True) # p2 = plt.plot(results_2[0], res # plt.legend((p2[0], p3[0], p4[0], p5[0]), ('2x5', '3x5', '4x5', '5x5'), # bbox_to_anchor=(1.115, 1.0155), ncol=1, fancybox=True, shadow=True) plt.margins(0.02) plt.subplots_adjust(left=0.06) plt.grid(True)
def process_3d_data(current_data, iterations_per_config, num_of_configs): prr_by_config_list, spurious_by_config_list, stds_prr, stds_spurious = \ Parser.get_avg_perfect_recall_and_avg_spurious_recall_from_data_for_configs( current_data, iterations_per_config=iterations_per_config, num_of_configs=num_of_configs) # print "spurious_by_dgw_list:", spurious_by_dgw_list values_prrs = [] values_spurious = [] config_ctr = 0 for avg_list in prr_by_config_list: x_ctr = 2 for avg_val in avg_list: x = x_ctr - _x_width/2. y = config_ctr z = avg_val values_prrs.append([x, y, z]) x_ctr += 1 config_ctr += 1 config_ctr = 0 for avg_list in spurious_by_config_list: x_ctr = 2 for avg_val in avg_list: x = x_ctr - _x_width/2. y = config_ctr z = avg_val values_spurious.append([x, y, z]) x_ctr += 1 config_ctr += 1 return [values_prrs, values_spurious]