graph.py is functional and basically done. All that remains is documentation, robustness improvements, and (possibly) options about output name and graph titles.