def testStatisticDaily (self): fname = u"examples/example_1_small.log" parser = LogParser (loadFile (fname)) stat = Statistic (parser.commits) statlist = stat.getStat (Daily) self.assertEqual (len (statlist), 6) self.assertEqual (statlist[0][0], datetime.datetime (2012, 11, 24)) self.assertEqual (statlist[0][1], 6) self.assertEqual (statlist[-1][0], datetime.datetime (2012, 12, 14)) self.assertEqual (statlist[-1][1], 1)
if len(sys.argv) < 2: print "Using: python plotstat.py logfile.txt" exit(1) fname = sys.argv[-1] try: with open(fname) as fp: logstr = fp.read() except IOError, e: print "Can't open {0}".format(fname) exit(1) parser = LogParser(logstr) stat = Statistic(parser.commits) dateList = stat.getStat(Daily10) dates, count = zip(*dateList) # Преобразуем даты в числовой формат dates_float = [matplotlib.dates.date2num(date) for date in dates] # Вызовем subplot явно, чтобы получить экземпляр класса AxesSubplot, # из которого будем иметь доступ к осям axes = pylab.subplot(1, 1, 1) # Пусть в качестве меток по оси X выводится только год axes.xaxis.set_major_formatter(matplotlib.dates.DateFormatter("%Y.%m")) # Отобразим данные pylab.bar(dates_float, count, width=10)
def testStatisticEmpty (self): stat = Statistic ([]) statlist = stat.getStat (Daily) self.assertEqual (len (statlist), 0)