#!/usr/bin/env python

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

# check if called correctly
if len(sys.argv) < 2:
	sys.exit('Usage: %s FILE1 FILE2' % sys.argv[0])

plt.figure(figsize=(8,4))

for fn in sys.argv[1:]:

#	m = re.match('[a-zA-Z-]+[-_](\d+)[-_](\d+).', fn)
#	rate = m.group(1)
#	values = m.group(2)
#	print 'Processing file %s (rate=%s, values=%s)' % (fn, rate, values)

	# read data from file
	data = [ ]
	with open(fn) as f:
		reader = csv.reader(f, delimiter='\t')

		for row in reader:
			offset = float(row[0])

#			if fn != 'nrel-test1_offset.log':
#				offset = offset * 0.001

			if offset > 100:
				continue

			data.append(offset)

	# evaluate the histogram
	values, base = np.histogram(data, bins='fd')

	# evaluate the cumulative
	cumulative = np.cumsum(values)
	cumscaled = [ float(x) / len(data) for x in cumulative ]

	# plot the cumulative function
	plt.plot(base[:-1], cumscaled, label=fn, linewidth=1)

	# plot the distribution
	#valscaled = [ float(x) / len(data) for x in values ]
	#plt.plot(base[:-1], valscaled, label=fn, linewidth=1)

plt.xlabel('RTT (s)')
plt.ylabel('Cum. Probability')
plt.grid(color='0.75')

#plt.yscale('log')

#plt.ylim([0, 1.03])
#plt.xlim([0.025, 0.05])

lgd = plt.legend(title='Rate (p/s)', loc='center left', bbox_to_anchor=(1, 0.5))

plt.show()

#plt.savefig('cumdist.png', dpi=600, bbox_extra_artists=(lgd,), bbox_inches='tight')
