Index: benchmark/plot.py
===================================================================
--- benchmark/plot.py	(revision d6723509775af3c6dbc33d09aec0168bb8e82989)
+++ benchmark/plot.py	(revision f34f95cf9a733e4a0799fc6c826c626960e530c3)
@@ -40,5 +40,5 @@
 }
 
-def plot(data, x, y):
+def plot(data, x, y, out):
 	fig, ax = plt.subplots()
 	colors = itertools.cycle(['#0095e3','#006cb4','#69df00','#0aa000','#fb0300','#e30002','#fd8f00','#ff7f00','#8f00d6','#4b009a','#ffff00','#b13f00'])
@@ -67,5 +67,8 @@
 	ax.yaxis.set_major_formatter( EngFormatter(unit=field_names[y].unit) )
 	plt.legend(loc='upper left')
-	plt.show()
+	if out:
+		plt.savefig(out)
+	else:
+		plt.show()
 
 
@@ -75,4 +78,6 @@
 	parser = parser = argparse.ArgumentParser(description='Python Script to draw R.M.I.T. results')
 	parser.add_argument('-f', '--file', nargs='?', type=argparse.FileType('r'), default=sys.stdin)
+	parser.add_argument('-o', '--out', nargs='?', type=str, default=None)
+	parser.add_argument('-y', nargs='?', type=str, default="")
 
 	try:
@@ -103,8 +108,14 @@
 			fields.add(label)
 
-	print(series)
-	print("fields")
-	for f in fields:
-		print("{}".format(f))
+	if not options.out :
+		print(series)
+		print("fields")
+		for f in fields:
+			print("{}".format(f))
 
-	plot(data, "Number of processors", "ns per ops")
+	if options.y and options.y in field_names.keys():
+		plot(data, "Number of processors", options.y, options.out)
+	else:
+		if options.y:
+			print("Could not find key '{}', defaulting to 'ns per ops'".format(options.y))
+		plot(data, "Number of processors", "ns per ops", options.out)
