コード例 #1
0
ファイル: new_plot.py プロジェクト: SeleneLI/Atlas
def plot_cdf_rtt_probes():
    print RTT_REPORT
    try:
        os.stat(os.path.join(FIGURE_PATH, 'CDF_figures', RTT_TYPE))
    except:
        os.makedirs(os.path.join(FIGURE_PATH, 'CDF_figures', RTT_TYPE))

    probes_list = ptma.get_probes()
    raw_rtt_probes_dict = get_raw_rtt_probes_dict()

    cdf_rtt_probes_dict = {}
    for probe in probes_list:
        print probe
        cdf_rtt_probes_dict[probe] = ECDF(raw_rtt_probes_dict[probe])
        x = range(int(math.floor(min(raw_rtt_probes_dict[probe]))), int(math.ceil(max(raw_rtt_probes_dict[probe]))+1))
        y = cdf_rtt_probes_dict[probe](range(int(math.floor(min(raw_rtt_probes_dict[probe]))), int(math.ceil(max(raw_rtt_probes_dict[probe]))+1)))
        print x
        print y
        # print int(math.floor(min(raw_rtt_probes_dict[probe]))), int(math.ceil(max(raw_rtt_probes_dict[probe]))+1)
        print int(math.floor(min(raw_rtt_probes_dict[probe]))), int(math.ceil(max(raw_rtt_probes_dict[probe]))+1)
        plt.plot(x, y, linewidth = 3, label = probe)

    plt.xlabel(r"\textrm{RTT (ms)}", font)
    plt.ylabel(r"\textrm{ECDF}", font)
    plt.xticks(fontsize=30, fontname="Times New Roman")
    plt.yticks(fontsize=30, fontname="Times New Roman")
    plt.legend(loc='best', fontsize=30)
    plt.grid(True)
    plt.savefig(os.path.join(FIGURE_PATH, 'CDF_figures', RTT_TYPE, 'CDF_{0}(RTT)_{1}.eps'.format(RTT_TYPE, CALCULATE_TYPE)), dpi=300, transparent=True)
    plt.close()
コード例 #2
0
ファイル: new_plot.py プロジェクト: SeleneLI/Atlas
def get_raw_rtt_probes_dict():
    probes_list = ptma.get_probes()
    raw_rtt_probes_dict = {}
    with open(RTT_REPORT) as rtt_report:
        next(rtt_report)
        for line in rtt_report:
            for probe in probes_list:
                if probe not in raw_rtt_probes_dict.keys():
                    raw_rtt_probes_dict[probe] = [float(line.split(";")[probe_index_dict[probe]].strip())]
                else:
                    raw_rtt_probes_dict[probe].append(float(line.split(";")[probe_index_dict[probe]].strip()))

    return raw_rtt_probes_dict
コード例 #3
0
ファイル: new_plot.py プロジェクト: SeleneLI/Atlas
def get_probe_continent_rtt():
    probe_continent_rtt_dict = {}

    with open(RTT_REPORT) as rtt_report:
        next(rtt_report)
        for line in rtt_report:
            lines = [j.strip() for j in line.split(";")]

            if lines[-1] not in probe_continent_rtt_dict.keys():
                probe_continent_rtt_dict[lines[-1]] = {}
                for probe in ptma.get_probes():
                    probe_continent_rtt_dict[lines[-1]][probe] = []
                    probe_continent_rtt_dict[lines[-1]][probe].append(lines[probe_index_dict[probe]])
            else:
                for probe in ptma.get_probes():
                    probe_continent_rtt_dict[lines[-1]][probe].append(lines[probe_index_dict[probe]])

    # for continent in probe_continent_rtt_dict.keys():
    #     for probe in ptma.get_probes():
    #         print continent, probe
    #         print len(probe_continent_rtt_dict[continent][probe])
    return probe_continent_rtt_dict
コード例 #4
0
ファイル: new_plot.py プロジェクト: SeleneLI/Atlas
def plot_rtt_series_by_mid(m_id):
    try:
        os.stat(os.path.join(FIGURE_PATH, 'time_sequence', RTT_TYPE))
    except:
        os.makedirs(os.path.join(FIGURE_PATH, 'time_sequence', RTT_TYPE))

    probes_list = ptma.get_probes()
    dest_probes_rtt_dict = ptma.get_clean_traces()
    for key in dest_probes_rtt_dict.keys():
        # if key[0] == m_id:
            for probe in probes_list:
                plt.plot(range(1, len(dest_probes_rtt_dict[key][probes_list[0]])+1), dest_probes_rtt_dict[key][probe], label=probe)
            plt.xlabel(r"\textrm{experiment round}", font)
            plt.ylabel(r"\textrm{RTT (ms)}", font)
            plt.title(r"\textrm{0}".format(key[1]), font)
            plt.xticks(fontsize=30, fontname="Times New Roman")
            plt.yticks(fontsize=30, fontname="Times New Roman")
            plt.xlim(1, len(dest_probes_rtt_dict[key][probes_list[0]]))
            plt.legend(loc='best', fontsize=30)
            plt.savefig(os.path.join(FIGURE_PATH, 'time_sequence', RTT_TYPE, '{0}_{1}.eps'.format(key[0],key[1])), dpi=300, transparent=True)
            plt.close()