#!/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)