Exemple #1
0
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]