plot 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. #!/usr/bin/env python
  2. import os
  3. import argparse
  4. import numpy as np
  5. import pandas as pd
  6. import matplotlib.pyplot as plt
  7. if __name__ == '__main__':
  8. parser = argparse.ArgumentParser()
  9. parser.add_argument('-d', '--directory', help="Result directory", default='results')
  10. parser.add_argument('-o', '--output', default=None, metavar='FILE',
  11. help="Output file name, if not giving plot in window")
  12. args = parser.parse_args()
  13. hosts = os.listdir(args.directory)
  14. columns = ['backproject', 'fft', 'roundtrip']
  15. weights = pd.DataFrame(pd.Series([0.5, 0.25, 0.25], index=columns))
  16. for host in hosts:
  17. path = os.path.join('results', host)
  18. files = sorted(os.listdir(path))
  19. dates = [p.split('.')[0] for p in files]
  20. data = {}
  21. for f in files:
  22. for line in open(os.path.join(path, f), 'r'):
  23. proc, time = line.split()
  24. lst = data.get(proc, [])
  25. lst.append(float(time))
  26. data[proc] = lst
  27. df = pd.DataFrame(data, index=pd.to_datetime(dates))
  28. df.plot()
  29. plt.title(host)
  30. if args.output:
  31. plt.savefig(args.output, bbox_inches='tight')
  32. else:
  33. plt.show(True)