Como plotar um CDF a partir do array usando o python matplotlib

3

Eu escrevi um programa python que basicamente pega um arquivo de texto com 86400 linhas contendo respostas de ping do servidor web. Eu extraio a ida e volta de cada linha e a adiciono a uma matriz chamada roundtriptimes. Eu então classifico o array e agora quero poder plotar um CDF dos dados usando o matplotlib. Meu código atual abaixo:

    import re
    import numpy as np
    import matplotlib.pyplot as plt

    ping = open("pingresponse.txt")
    rawping = ping.read()
    roundtriptimes = re.findall(r'time=(\d+.\d+)', rawping)
    roundtriptimes[:] = [float(x) for x in roundtriptimes]

    sortedtime = np.sort(roundtriptimes)
    p = 1. * np.arange(len(roundtriptimes))/(len(roundtriptimes) - 1)
    plt.plot(sortedtime, p)
    plt.show()

Eu li o outro post sobre esse tópico, mas nenhuma das soluções deles funcionou para mim. Eu estou tentando obter um gráfico CDF que se parece com abaixo:

Masemvezdisso,tenhoumainclinaçãoacentuadamentecrescente.EusóquerotercertezadequeoscálculosdoCDFqueestoufazendoestãocorretos.

Qualquer ajuda seria muito apreciada.

    
por user192403 05.10.2016 / 03:49

1 resposta

1

Respondido nos comentários:

This looks right. Not particularly useful, but not abnormal either. You have a few packets with big delays that push the upper limit to 600 ms. – Sato Katsura Oct 5 at 7:38

    
por 14.10.2016 / 02:41