ソートされたリストから CDF をプロットする方法

ソートされたリストから CDF をプロットする方法

そこで、Web サーバーに 86,400 回 ping を実行し、出力をテキスト ファイルに書き込むシェル スクリプトを作成しました。以下は 1 つの ping の例です。

64 bytes from a104-100-153-112.deploy.static.akamaitechnologies.com (104.100.153.112): icmp_seq=1 ttl=60 time=12.6 ms
64 bytes from a104-100-153-112.deploy.static.akamaitechnologies.com (104.100.153.112): icmp_seq=2 ttl=60 time=17.2 ms
64 bytes from a104-100-153-112.deploy.static.akamaitechnologies.com (104.100.153.112): icmp_seq=3 ttl=60 time=11.0 ms

最初の問題は、生の ping 出力から往復時間 (12.6) の値を 2 番目のテキスト ファイルに抽出する必要があることです。現在、12.6 の小数点は無視され、数値のみが取り込まれると思います。私のコードは次のとおりです。

sed 's/.* time= \ ([0-9]* \ ). * /\1/' pingoutput.txt | sort -n > sortedtime.txt

これらの時間値を に抽出した後、sortedtime.txtテキスト ファイルを読み取り、各行 (つまり各ラウンドトリップ時間) を というリストの要素にしますtimelist[]。次に、長さとリスト全体の両方を出力して、リストに 86400 ラウンドトリップ時間がすべて含まれ、正しくソートされていることを確認します。私のコードは次のとおりです。

    with open("sortedtime.txt", 'r') as time:
         timelist = []
         for line in time:
             timelist.append(line)
         time.close()

   print timelist[0:86399]
   print len(timelist)

2 番目で最後の問題は、タイムリスト リスト内のすべての値の CDF をプロットして表示する必要があることです。私は Python 初心者で、パッケージにあまり詳しくないmatplotlib.pyplotので、リスト要素を x 軸と 0 から 1 の y 軸にプロットする方法がわかりません。

私は Linux で作業しています。どんな助けでも大歓迎です!

関連情報