summaryrefslogtreecommitdiff
path: root/__main__.py
diff options
context:
space:
mode:
Diffstat (limited to '__main__.py')
-rwxr-xr-x__main__.py72
1 files changed, 72 insertions, 0 deletions
diff --git a/__main__.py b/__main__.py
new file mode 100755
index 0000000..dc2985a
--- /dev/null
+++ b/__main__.py
@@ -0,0 +1,72 @@
+import os
+import sys
+import numpy as np
+
+import matplotlib
+# Force matplotlib to not use any Xwindows backend.
+matplotlib.use('Agg')
+
+import matplotlib.pyplot as plt
+
+def get_plot_files(file):
+ open_file = open(os.path.realpath(file),'r')
+ raw_data = open_file.read()
+ array = raw_data.split('* ')
+
+ array.pop(0)
+ dict_data = {}
+ parameters = []
+ parsed_files = []
+ dir1 = str(file)
+
+
+ if not os.path.exists(dir1[:-4]):
+ os.makedirs(dir1[:-4])
+
+
+ for i in range(len(array)):
+ dict_data[i] = array[i]
+
+ sample = dict_data[i].split('\n')
+ write_file = open(os.path.realpath(dir1[:-4])+'/parsed_%s.txt'%(i),'w')
+
+ for j in sample[3:]:
+ if j.startswith('Index'):
+ items = j.split()
+ parameters.append(items) if len(parameters) < i+1 else None
+ continue
+ if j.startswith('--') or '*' in j:
+ continue
+ else:
+ write_file.write(j+'\n')
+
+ parsed_files.append(os.path.realpath(dir1[:-4])+'/parsed_%s.txt'%(i))
+ return parameters, parsed_files
+
+def parse_files(file):
+ parameters, parsed_files = get_plot_files(file)
+
+ for plot_file, parameter in zip(parsed_files, parameters):
+ data = np.loadtxt(plot_file, unpack=True, dtype=str)
+ for i in range(2, len(data)):
+
+ plt.plot([x.strip(',') for x in data[1]], [y.strip(',') for y in data[i]])
+
+ try:
+ plt.xlabel(parameter[1]), plt.ylabel(parameter[i])
+ plt.title('%s vs %s'%(parameter[1], parameter[i]))
+ plt.savefig(plot_file+str(i)+'.png'), plt.clf()
+ except IndexError:
+ plt.xlabel(parameter[1]), plt.ylabel('missing y label')
+ plt.title('%s vs missing y label'%(parameter[1], ))
+ plt.savefig(plot_file+str(i)+'.png'), plt.clf()
+
+
+def main():
+
+ files = sys.argv[1:]
+ for fi in files:
+ parse_files(fi)
+
+if __name__ == '__main__':
+ main()