diff --git a/.gitignore b/.gitignore index 2e1ebd5..ea7e94f 100644 --- a/.gitignore +++ b/.gitignore @@ -28,3 +28,6 @@ copycat.log # Editors .*.swp + +# Output +output/* diff --git a/copycat/plot.py b/copycat/plot.py index 8601359..bbacd12 100644 --- a/copycat/plot.py +++ b/copycat/plot.py @@ -3,7 +3,7 @@ import numpy as np import matplotlib.pyplot as plt -def plot_answers(answers): +def plot_answers(answers, show=True, save=True, filename='distribution.png'): answers = sorted(answers.items(), key=lambda kv : kv[1]['count']) objects = [t[0] + ' (temp:{})'.format(t[1]['avgtemp']) for t in answers] yvalues = [t[1]['count'] for t in answers] @@ -14,5 +14,7 @@ def plot_answers(answers): plt.xticks(y_pos, objects) plt.ylabel('Count') plt.title('Answers') - plt.show() - + if show: + plt.show() + if save: + plt.savefig('output/{}'.format(filename)) diff --git a/main.py b/main.py index d03d0f3..bae5ce0 100755 --- a/main.py +++ b/main.py @@ -56,6 +56,7 @@ def main(): parser.add_argument('--seed', type=int, default=None, help='Provide a deterministic seed for the RNG.') parser.add_argument('--iterations', type=int, default=1, help='Run the given case this many times.') parser.add_argument('--plot', action='store_true', help='Plot a bar graph of answer distribution') + parser.add_argument('--noshow', action='store_true', help='Don\'t display bar graph at end of run') parser.add_argument('initial', type=str, help='A...') parser.add_argument('modified', type=str, help='...is to B...') parser.add_argument('target', type=str, help='...as C is to... what?') @@ -68,7 +69,7 @@ def main(): print('%s: %d (avg time %.1f, avg temp %.1f)' % (answer, d['count'], d['avgtime'], d['avgtemp'])) if options.plot: - plot_answers(answers) + plot_answers(answers, show=not options.noshow) if __name__ == '__main__': main() diff --git a/output/.placeholder b/output/.placeholder new file mode 100644 index 0000000..e69de29