diff --git a/plotter/Args.py b/plotter/Args.py index a820e66490b070069b8e92a8b0ae71ec280e0859..e1c1947e7d1e46124913cb5ca6fec9c9a9c86202 100644 --- a/plotter/Args.py +++ b/plotter/Args.py @@ -1,7 +1,7 @@ import sys import numpy as np class Args: - def __init__(self, filename, func, var=None, mval=None, oname=None, out=None, ndim = None, min_y = None, max_y = None, title=None, transpose = None): + def __init__(self, filename, func, var=None, mval=None, oname=None, out=None, ndim = None, min_y = None, max_y = None, title=None, levels=None): if out == "plotter_lib_pngs/": print("Output directory name can't be equal to " + out) sys.exit(-1) @@ -16,7 +16,7 @@ class Args: self.title = title self.min_y = min_y self.max_y = max_y - self.transpose = transpose + self.levels = levels self.CorrVals() @@ -46,10 +46,6 @@ class Args: if None in self.max_y: self.max_y = None - if type(self.transpose) is not list: - self.transpose = [self.transpose] - if None in self.transpose: - self.transpose = None # param_lists = [self.oname, self.var, self.mval, self.min_y, self.max_y] # lens = [] diff --git a/plotter/Plotter.py b/plotter/Plotter.py index 310f064543e8397e17ab63800d9eb77aa11c9642..0620550482b05cd0670f30a04db60e6dace2776d 100755 --- a/plotter/Plotter.py +++ b/plotter/Plotter.py @@ -28,7 +28,6 @@ class Plotter: self.min_y = None self.max_y = None self.min_max_var_vals = None - self.transpose = None def __check_arg_dim_equiv(self, args): if args.var != None and args.mval != None: @@ -68,7 +67,11 @@ class Plotter: self.title = args.title self.min_y = args.min_y self.max_y = args.max_y - self.transpose = args.transpose + + if args.levels != None: + self.levels = args.levels + else: + self.levels = 25 self.if_manual_plot = kwargs.get('if_manual_plot', False) self.if_save_result = kwargs.get('if_save_result', True) @@ -98,9 +101,6 @@ class Plotter: for p in self.file_data: p.process_file(self.ndim, self.var, self.mval) self.fig_count = len(self.var) - - if self.transpose == None: - self.transpose = [False for _ in self.var] def __plot(self): os.system("mkdir -p " + self.out) @@ -108,14 +108,8 @@ class Plotter: fig = plt.figure() - for i in range(len(self.var)): - y_name = self.var[i] - trnsp = self.transpose[i] - if trnsp: - plt.plot(self.file_data[0].data[y_name], self.file_data[0].data[x_name], linewidth=4) - else: - plt.plot(self.file_data[0].data[x_name], self.file_data[0].data[y_name], linewidth=4) - + for y_name in self.var: + plt.plot(self.file_data[0].data[x_name], self.file_data[0].data[y_name], linewidth=4) plt.legend(self.var) plt.xlabel(x_name, fontsize=10, fontweight='bold') @@ -176,14 +170,9 @@ class Plotter: for datafile in names: fig = plt.figure() plt.ylim([min_val, max_val]) - - for i in range(len(self.var)): - y_name = self.var[i] - trnsp = self.transpose[i] - if trnsp: - plt.plot(self.file_data[data_i].data[y_name], self.file_data[data_i].data[x_name], linewidth=4) - else: - plt.plot(self.file_data[data_i].data[x_name], self.file_data[data_i].data[y_name], linewidth=4) + + for y_name in self.var: + plt.plot(self.file_data[data_i].data[x_name], self.file_data[data_i].data[y_name], linewidth=4) plt.legend(self.var) plt.xlabel(x_name, fontsize=10, fontweight='bold') @@ -239,17 +228,12 @@ class Plotter: vmin = min_val[self.var[i]]; vmax = max_val[self.var[i]]; - levels = np.linspace(vmin, vmax, 25) + levels = np.linspace(vmin, vmax, self.levels) + if self.function == self.plot_diff: - if self.transpose[i]: - cp = ax.contourf(Y, X, Z.T) - else: - cp = ax.contourf(X, Y, Z) + cp = ax.contourf(X, Y, Z) else: - if self.transpose[i]: - cp = ax.contourf(Y, X, Z.T, vmin=vmin, vmax=vmax, levels=levels) - else: - cp = ax.contourf(X, Y, Z, vmin=vmin, vmax=vmax, levels=levels) + cp = ax.contourf(X, Y, Z, vmin=vmin, vmax=vmax, levels=levels) # fig.colorbar(ScalarMappable(norm=cp.norm, cmap=cp.cmap),ticks=range(min_val[self.var[i]], max_val[self.var[i]])) fig.colorbar(cp) # Add a colorbar to a plot ax.set_title(title) @@ -313,9 +297,7 @@ class Plotter: duration = self.ani_period * len(self.filename) i = 0 - vartp = list(range(len(self.var))) - for var, i in zip(self.var, vartp): - + for var in self.var: if self.title == None: title = var else: @@ -331,10 +313,7 @@ class Plotter: ax.set_ylabel(y_name) Z = data.data[var] - if self.transpose[i]: - cp = ax.contourf(Y, X, Z.T, vmin=min_val[var], vmax=max_val[var]) - else: - cp = ax.contourf(X, Y, Z, vmin=min_val[var], vmax=max_val[var]) + cp = ax.contourf(X, Y, Z, vmin=min_val[var], vmax=max_val[var]) fig.colorbar(cp) # Add a colorbar to a plot plt.close(fig) figname = var + str(counter) @@ -376,13 +355,9 @@ class Plotter: x_name = self.file_column_names[2] x = self.file_data[0].data[x_name] - for i in range(len(self.var)): - var = self.var[i] - avg_data = self.__avg(self.file_data[0].data, var[i]) - if self.transpose[i]: - plt.plot(avg_data, x, linewidth=4) - else: - plt.plot(x, avg_data, linewidth=4) + for var in self.var: + avg_data = self.__avg(self.file_data[0].data, var) + plt.plot(x, avg_data, linewidth=4) plt.legend(self.var) plt.xlabel(x_name, fontsize=10, fontweight='bold') diff --git a/plotter/main.py b/plotter/main.py index f8b15b6a50f831ffdb9ec3331fa8855c1c67ac71..2d165cbf5d92460e2179e5ffe514f599de78622e 100755 --- a/plotter/main.py +++ b/plotter/main.py @@ -4,7 +4,7 @@ from pathlib import PurePath import natsort import os -manual_plot=False +manual_plot=True save_result=True def dump(filename, var=[None], mval=[None]): @@ -14,13 +14,13 @@ def dump(filename, var=[None], mval=[None]): Plot.set(args, if_manual_plot=manual_plot, if_save_result=save_result) Plot.dump() -def plot(filename, out = './', oname = 'fig.png', var=[None], mval=[None], min_y = None, max_y = None, transpose = None): +def plot(filename, out = './', oname = 'fig.png', var=[None], mval=[None], min_y = None, max_y = None): Plot = Plotter() - args = Args([filename], Plot.plot, var=var, mval=mval, oname=oname, out=out, transpose = transpose) + args = Args([filename], Plot.plot, var=var, mval=mval, oname=oname, out=out) Plot.set(args, if_manual_plot=manual_plot, if_save_result=save_result) Plot.plot() -def ani_plot(filename, out = './', oname = 'fig.gif', var=[None], mval=[None], min_y = None, max_y = None, transpose = None): +def ani_plot(filename, out = './', oname = 'fig.gif', var=[None], mval=[None], min_y = None, max_y = None): pp = str(PurePath(filename).parent) + '/' name = str(PurePath(filename).name ) command = 'find ' + pp + ' -name ' + "'" + name + "'" @@ -30,17 +30,17 @@ def ani_plot(filename, out = './', oname = 'fig.gif', var=[None], mval=[None], m names = natsort.natsorted(out_res,reverse=False) Plot = Plotter() - args = Args(names, Plot.ani_plot, var=var, mval=mval, oname=oname, out=out, min_y=min_y, max_y=max_y, transpose = transpose) + args = Args(names, Plot.ani_plot, var=var, mval=mval, oname=oname, out=out, min_y=min_y, max_y=max_y) Plot.set(args, if_manual_plot=manual_plot, if_save_result=save_result) Plot.ani_plot() -def plot_contour(filename, out = './', oname = [None], var=[None], mval=[None], min_y = None, max_y = None, transpose = None): +def plot_contour(filename, out = './', oname = [None], var=[None], mval=[None], min_y = None, max_y = None, levels=None): Plot = Plotter() - args = Args([filename], Plot.plot_contour, var=var, mval=mval, oname=oname, out=out, min_y=min_y, max_y=max_y, transpose=transpose) + args = Args([filename], Plot.plot_contour, var=var, mval=mval, oname=oname, out=out, min_y=min_y, max_y=max_y, levels=levels) Plot.set(args, if_manual_plot=manual_plot, if_save_result=save_result) Plot.plot_contour() -def ani_plot_contour(filename, out = './', oname = [None], var=[None], mval=[None], min_y = None, max_y = None, transpose = None): +def ani_plot_contour(filename, out = './', oname = [None], var=[None], mval=[None], min_y = None, max_y = None): pp = str(PurePath(filename).parent) + '/' name = str(PurePath(filename).name ) command = 'find ' + pp + ' -name ' + "'" + name + "'" @@ -50,19 +50,19 @@ def ani_plot_contour(filename, out = './', oname = [None], var=[None], mval=[Non names = natsort.natsorted(out_res,reverse=False) Plot = Plotter() - args = Args(names, Plot.ani_plot_contour, var=var, mval=mval, oname=oname, out=out, min_y=min_y, max_y=max_y, transpose = transpose) + args = Args(names, Plot.ani_plot_contour, var=var, mval=mval, oname=oname, out=out, min_y=min_y, max_y=max_y) Plot.set(args, if_manual_plot=manual_plot, if_save_result=save_result) Plot.ani_plot_contour() -def avg_plot(filename, out = './', oname = 'fig.png', var=[None], mval=[None], transpose = None): +def avg_plot(filename, out = './', oname = 'fig.png', var=[None], mval=[None]): Plot = Plotter() - args = Args([filename], Plot.avg_plot, var=var, mval=mval, oname=oname, out=out, transpose = None) + args = Args([filename], Plot.avg_plot, var=var, mval=mval, oname=oname, out=out) Plot.set(args, if_manual_plot=manual_plot, if_save_result=save_result) Plot.avg_plot() -def plot_diff(filename, ndim, out = './', oname = 'fig.png', var=[None], mval=[None], transpose = None): +def plot_diff(filename, ndim, out = './', oname = 'fig.png', var=[None], mval=[None]): Plot = Plotter() - args = Args(filename, Plot.plot_diff, var=var, mval=mval, oname=oname, out=out, ndim=ndim, transpose = None) + args = Args(filename, Plot.plot_diff, var=var, mval=mval, oname=oname, out=out, ndim=ndim) Plot.set(args, if_manual_plot=manual_plot, if_save_result=save_result) Plot.plot_diff()