12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- #!/usr/bin/env python
- import os
- import argparse
- import numpy as np
- import pandas as pd
- import matplotlib.pyplot as plt
- if __name__ == '__main__':
- parser = argparse.ArgumentParser()
- parser.add_argument('-d', '--directory', help="Result directory", default='results')
- parser.add_argument('-o', '--output', default=None, metavar='FILE',
- help="Output file name, if not giving plot in window")
- args = parser.parse_args()
- hosts = os.listdir(args.directory)
- columns = ['backproject', 'fft', 'roundtrip']
- weights = pd.DataFrame(pd.Series([0.5, 0.25, 0.25], index=columns))
- for host in hosts:
- path = os.path.join('results', host)
- files = sorted(os.listdir(path))
- dates = [p.split('.')[0] for p in files]
- data = {}
- for f in files:
- for line in open(os.path.join(path, f), 'r'):
- proc, time = line.split()
- lst = data.get(proc, [])
- lst.append(float(time))
- data[proc] = lst
- df = pd.DataFrame(data, index=pd.to_datetime(dates))
- df.plot()
- plt.title(host)
- if args.output:
- plt.savefig(args.output, bbox_inches='tight')
- else:
- plt.show(True)
|