如何使用 matplotlib python 从数组绘制 CDF

如何使用 matplotlib python 从数组绘制 CDF

我编写了一个 python 程序,它基本上采用一个包含 86400 行的文本文件,其中包含 Web 服务器 ping 响应。我从每行中提取往返行程并将其添加到名为 roundtriptimes 的数组中。然后我对数组进行排序,现在希望能够使用 matplotlib 绘制数据的 CDF。我当前的代码如下:

    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()

我读过有关该主题的另一篇文章,但他们的解决方案似乎都不适合我。我正在尝试获取如下所示的 CDF 图:

在此输入图像描述 但相反,我得到了急剧增加的斜率。我只是想确保我所做的 CDF 计算是正确的。

在此输入图像描述 任何帮助将不胜感激。

答案1

在评论中回复:

这看起来是对的。不是特别有用,但也不是异常。您有一些延迟较大的数据包,将上限推至 600 毫秒。 – 佐藤桂 10 月 5 日 7:38

相关内容