#!/usr/bin/env python import sys import numpy as np import matplotlib.pyplot as plt import matplotlib.dates as mdates fn = sys.argv[1] table = [(mdates.datestr2num(l.split()[0]),l.split()[1:]) for l in open(fn).readlines()] dats = [mdates.num2date(r[0]) for r in table] nums = [[int(i) for i in r[1]] for r in table] sums = map(sum, nums) maxs = map(max, nums) meds = map(np.median, nums) fig=plt.figure(figsize=(10,6),tight_layout=True) plt.grid(axis='y') plt.bar(dats,sums,label='Total') plt.bar(dats,meds,width=0.55,label='Median Set',ec='w',lw=2) plt.bar(dats,maxs,width=0.25,label='Max Set',ec='w',lw=2) plt.xticks(rotation=45) plt.ylabel('#') plt.title('Push-ups') plt.legend(loc='upper left') plt.show()