次のようなファイルがありtxt
ます。
0.065998 81
0.319601 81
0.539613 81
0.768445 81
1.671893 81
1.785064 81
1.881242 954
1.921503 193
1.921605 188
1.943166 81
2.122283 63
2.127669 83
2.444705 81
最初の列はパケットの到着と2番目のパケットサイズ(バイト単位)です。
1秒あたりのバイトの平均値を取得する必要があります。たとえば、最初の1秒間は、値が81のパケットしかないため、平均ビットレートは81*8= 648bit/s
です。次に、グラフのx軸の時間を秒単位でプロットし、y軸の平均ビットレートを1秒ごとにプロットする必要があります。
これまでのところ、データを配列としてアップロードすることしかできませんでした。
import numpy as np
d = np.genfromtxt('data.txt')
x = (d[:,0])
y = (d[:,1 ])
print x
print(y*8)
私はPythonを初めて使用するので、どこから始めればよいか助けていただければ幸いです。
結果のスクリプトは次のとおりです。
import matplotlib.pyplot as plt
import numpy as np
x, y = np.loadtxt('data.txt', unpack=True)
bins = np.arange(60+1)
totals, edges = np.histogram(x, weights=y, bins=bins)
counts, edges = np.histogram(x, bins=bins)
print counts
print totals*0.008/counts
plt.plot(totals*0.008/counts, 'r')
plt.xlabel('time, s')
plt.ylabel('kbit/s')
plt.grid(True)
plt.xlim(0.0, 60.0)
plt.show()
スクリプトは、パケットサイズ(バイト)と到着時間を含む.txtファイルを読み取り、一定期間の平均ビットレートをプロットします。サーバーの着信/発信トラフィックを監視するために使用されます!