@@ -0,0 +1,1292 @@
+#! /usr/bin/env python%0A%0Aimport sys%0Aimport re%0Aimport argparse%0Afrom matplotlib import pyplot%0A%0A%0A%0Adef main(args = sys.argv%5B1:%5D):%0A    %22%22%22%0A    Plot results from either Bitcoin Traffic Bulletin or this repository.%0A    %22%22%22%0A    parse_args(args)%0A%0A    times, freqs, cumulatives = parse_stream(sys.stdin)%0A    make_plot(times, freqs, cumulatives)%0A%0A%0Adef parse_args(args):%0A    p = argparse.ArgumentParser(description=main.__doc__)%0A    return p.parse_args(args)%0A%0A%0Adef parse_stream(f):%0A    linergx = re.compile(r'%5E%5B%5Cd%5D+ %5C%7C (%5Cd+%5C.%5Cd+) %5C%7C (%5Cd+%5C.%5Cd+) %5C%7C (%5Cd+%5C.%5Cd+)$')%0A%0A    times, freqs, cumulatives = %5B%5D, %5B%5D, %5B%5D%0A%0A    for ix, line in enumerate(f):%0A        m = linergx.match(line)%0A        try:%0A            assert m is not None%0A            %5Bt, f, c%5D = %5B float(g) for g in m.groups() %5D%0A        except Exception as e:%0A            sys.stderr.write(%0A                'Could not parse line %7B%7D: %7B%7D%5Cn  Input: %7B!r%7D%5Cn'%0A                .format(ix+1, e, line))%0A        else:%0A            times.append(t)%0A            freqs.append(f)%0A            cumulatives.append(c)%0A%0A    return times, freqs, cumulatives%0A%0A%0Adef make_plot(times, freqs, cumulatives):%0A    pyplot.plot(times, freqs)%0A    plotresult='./plot.png'%0A    print('Writing plot: %7B!r%7D'.format(plotresult))%0A    pyplot.savefig(plotresult)%0A%0A%0Aif __name__ == '__main__':%0A    main()%0A

Add a basic plotter which can consume the btb output.