Skip to content
Snippets Groups Projects
Commit eb8ba209 authored by 数学の武士's avatar 数学の武士
Browse files

Add transpose

parent 68bcd4c5
No related branches found
No related tags found
No related merge requests found
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, levels=None, plane_type = None, slice_position = 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, plane_type = None, slice_position = None, ifTranspose=False):
if out == "plotter_lib_pngs/":
print("Output directory name can't be equal to " + out)
sys.exit(-1)
......@@ -19,6 +19,7 @@ class Args:
self.levels = levels
self.plane_type = plane_type
self.slice_position = slice_position
self.ifTranspose = ifTranspose
self.CorrVals()
......
......@@ -30,6 +30,7 @@ class Plotter:
self.min_max_var_vals = None
self.plane_type = None
self.slice_position = None
self.ifTranspose = False
def __check_arg_dim_equiv(self, args):
if args.var != None and args.mval != None:
......@@ -90,6 +91,7 @@ class Plotter:
self.max_y = args.max_y
self.plane_type = args.plane_type
self.slice_position = args.slice_position
self.ifTranspose = args.ifTranspose
if args.levels != None:
self.levels = args.levels
......@@ -145,6 +147,11 @@ class Plotter:
y_name = self.var[i]
fig = plt.figure()
if self.ifTranspose:
plt.plot(self.file_data[0].data[y_name], self.file_data[0].data[x_name], linewidth=4)
plt.xlabel(y_name, fontsize=10, fontweight='bold')
plt.ylabel(x_name, fontsize=10, fontweight='bold')
else:
plt.plot(self.file_data[0].data[x_name], self.file_data[0].data[y_name], linewidth=4)
plt.xlabel(x_name, fontsize=10, fontweight='bold')
plt.ylabel(y_name, fontsize=10, fontweight='bold')
......@@ -167,10 +174,16 @@ class Plotter:
for i in range(self.fig_count):
fig = plt.figure()
for y_name in self.var:
if self.ifTranspose:
plt.plot(self.file_data[0].data[y_name], self.file_data[0].data[x_name], linewidth=4, label = x_name)
else:
plt.plot(self.file_data[0].data[x_name], self.file_data[0].data[y_name], linewidth=4, label = y_name)
if self.ifTranspose:
plt.xlabel(y_name, fontsize=10, fontweight='bold')
else:
plt.xlabel(x_name, fontsize=10, fontweight='bold')
# plt.ylabel(y_name, fontsize=10, fontweight='bold')
plt.legend()
if self.if_manual_plot: plt.show()
......@@ -193,11 +206,19 @@ class Plotter:
fig = plt.figure()
for read_data in self.file_data:
if self.ifTranspose:
plt.plot(read_data.data[y_name], read_data.data[x_name], linewidth=4)
else:
plt.plot(read_data.data[x_name], read_data.data[y_name], linewidth=4)
plt.legend(self.filename)
if self.ifTranspose:
plt.xlabel(x_name, fontsize=10, fontweight='bold')
plt.ylabel(y_name, fontsize=10, fontweight='bold')
else:
plt.xlabel(y_name, fontsize=10, fontweight='bold')
plt.ylabel(x_name, fontsize=10, fontweight='bold')
if self.if_manual_plot: plt.show()
else: plt.close(fig)
......@@ -254,9 +275,16 @@ class Plotter:
for datafile in names:
fig = plt.figure()
if self.ifTranspose:
plt.ylim([min_val, max_val])
else:
plt.xlim([min_val, max_val])
for y_name in self.var:
if self.ifTranspose:
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)
plt.legend(self.var)
......@@ -316,16 +344,27 @@ class Plotter:
levels = np.linspace(vmin, vmax, self.levels)
if self.ifTranspose:
if self.function == self.plot_diff:
cp = ax.contourf(Y, X, Z.T)
else:
cp = ax.contourf(Y, X, Z.T, vmin=vmin, vmax=vmax, levels=levels)
ax.set_ylabel(x_name)
ax.set_xlabel(y_name)
else:
if self.function == self.plot_diff:
cp = ax.contourf(X, Y, Z)
else:
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)
ax.set_xlabel(x_name)
ax.set_ylabel(y_name)
fig.colorbar(cp) # Add a colorbar to a plot
ax.set_title(title)
if self.if_manual_plot: plt.show()
else: plt.close(fig)
if self.if_save_result: fig.savefig(self.out + self.fig_names[i] + self.fig_end)
......@@ -395,11 +434,17 @@ class Plotter:
fig,ax=plt.subplots(1,1)
ax.set_title(title)
Z = data.data[var]
if self.ifTranspose:
cp = ax.contourf(Y, X, Z.T, vmin=min_val[var], vmax=max_val[var], levels=levels)
ax.set_ylabel(x_name)
ax.set_xlabel(y_name)
else:
cp = ax.contourf(X, Y, Z, vmin=min_val[var], vmax=max_val[var], levels=levels)
ax.set_xlabel(x_name)
ax.set_ylabel(y_name)
Z = data.data[var]
cp = ax.contourf(X, Y, Z, vmin=min_val[var], vmax=max_val[var], levels=levels)
fig.colorbar(cp) # Add a colorbar to a plot
plt.close(fig)
figname = var + str(counter)
......@@ -445,9 +490,17 @@ class Plotter:
for var in self.var:
avg_data = self.__avg(self.file_data[0].data, var)
if self.ifTranspose:
plt.plot(avg_data, x, linewidth=4)
else:
plt.plot(x, avg_data, linewidth=4)
plt.legend(self.var)
if self.ifTranspose:
plt.ylabel(x_name, fontsize=10, fontweight='bold')
else:
plt.xlabel(x_name, fontsize=10, fontweight='bold')
if self.if_manual_plot: plt.show()
......@@ -523,13 +576,6 @@ class Plotter:
arr = self.file_data[0].data[z_name]
pos = self.__find_closest(arr, self.slice_position)
# if self.oname == None:
# fig_names = self.var
# fig_end = ".png"
# else:
# fig_names = self.oname
# fig_end = ""
for i in range(self.fig_count):
fig,ax=plt.subplots(1,1)
......@@ -550,12 +596,17 @@ class Plotter:
X = self.file_data[0].data[x_name]
Y = self.file_data[0].data[y_name]
if self.ifTranspose:
cp = ax.contourf(Y, X, Z.T)
ax.set_ylabel(x_name)
ax.set_xlabel(y_name)
else:
cp = ax.contourf(X, Y, Z)
ax.set_xlabel(x_name)
ax.set_ylabel(y_name)
fig.colorbar(cp) # Add a colorbar to a plot
ax.set_title(title)
ax.set_xlabel(x_name)
ax.set_ylabel(y_name)
if self.if_manual_plot: plt.show()
else: plt.close(fig)
......
......@@ -14,25 +14,25 @@ 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 = [None], var=[None], mval=[None], min_y = None, max_y = None):
def plot(filename, out = './', oname = [None], var=[None], mval=[None], min_y = None, max_y = None, ifTranspose=False):
Plot = Plotter()
args = Args([filename], Plot.plot, var=var, mval=mval, oname=oname, out=out)
args = Args([filename], Plot.plot, var=var, mval=mval, oname=oname, out=out, ifTranspose=ifTranspose)
Plot.set(args, if_manual_plot=manual_plot, if_save_result=save_result)
Plot.plot()
def joint_plot(filename, out = './', oname = [None], var=[None], mval=[None], min_y = None, max_y = None):
def joint_plot(filename, out = './', oname = [None], var=[None], mval=[None], min_y = None, max_y = None, ifTranspose=False):
Plot = Plotter()
args = Args([filename], Plot.joint_plot, var=var, mval=mval, oname=oname, out=out)
args = Args([filename], Plot.joint_plot, var=var, mval=mval, oname=oname, out=out, ifTranspose=ifTranspose)
Plot.set(args, if_manual_plot=manual_plot, if_save_result=save_result)
Plot.joint_plot()
def multiple_plot(filename, out = './', oname = 'fig.png', var=[None], mval=[None], min_y = None, max_y = None):
def multiple_plot(filename, out = './', oname = 'fig.png', var=[None], mval=[None], min_y = None, max_y = None, ifTranspose=False):
Plot = Plotter()
args = Args(filename, Plot.multiple_plot, var=var, mval=mval, oname=oname, out=out)
args = Args(filename, Plot.multiple_plot, var=var, mval=mval, oname=oname, out=out, ifTranspose=ifTranspose)
Plot.set(args, if_manual_plot=manual_plot, if_save_result=save_result)
Plot.multiple_plot()
def ani_plot(filename, out = './', oname = 'fig.gif', var=[None], mval=[None], min_y = None, max_y = None):
def ani_plot(filename, out = './', oname = 'fig.gif', var=[None], mval=[None], min_y = None, max_y = None, ifTranspose=False):
pp = str(PurePath(filename).parent) + '/'
name = str(PurePath(filename).name )
command = 'find ' + pp + ' -name ' + "'" + name + "'"
......@@ -42,17 +42,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)
args = Args(names, Plot.ani_plot, var=var, mval=mval, oname=oname, out=out, min_y=min_y, max_y=max_y, ifTranspose=ifTranspose)
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, levels=None):
def plot_contour(filename, out = './', oname = [None], var=[None], mval=[None], min_y = None, max_y = None, levels=None, ifTranspose=False):
Plot = Plotter()
args = Args([filename], Plot.plot_contour, var=var, mval=mval, oname=oname, out=out, min_y=min_y, max_y=max_y, levels=levels)
args = Args([filename], Plot.plot_contour, var=var, mval=mval, oname=oname, out=out, min_y=min_y, max_y=max_y, levels=levels, ifTranspose=ifTranspose)
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):
def ani_plot_contour(filename, out = './', oname = [None], var=[None], mval=[None], min_y = None, max_y = None, ifTranspose=False):
pp = str(PurePath(filename).parent) + '/'
name = str(PurePath(filename).name )
command = 'find ' + pp + ' -name ' + "'" + name + "'"
......@@ -62,25 +62,25 @@ 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)
args = Args(names, Plot.ani_plot_contour, var=var, mval=mval, oname=oname, out=out, min_y=min_y, max_y=max_y, ifTranspose=ifTranspose)
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]):
def avg_plot(filename, out = './', oname = 'fig.png', var=[None], mval=[None], ifTranspose=False):
Plot = Plotter()
args = Args([filename], Plot.avg_plot, var=var, mval=mval, oname=oname, out=out)
args = Args([filename], Plot.avg_plot, var=var, mval=mval, oname=oname, out=out, ifTranspose=ifTranspose)
Plot.set(args, if_manual_plot=manual_plot, if_save_result=save_result)
Plot.avg_plot()
def slice(filename, plane_type = 'xy', slice_position = 0, out = './', oname = [None], var=[None], mval=[None], min_y = None, max_y = None):
def slice(filename, plane_type = 'xy', slice_position = 0, out = './', oname = [None], var=[None], mval=[None], min_y = None, max_y = None, ifTranspose=False):
Plot = Plotter()
args = Args([filename], Plot.slice, var=var, mval=mval, oname=oname, out=out, plane_type=plane_type, slice_position=slice_position)
args = Args([filename], Plot.slice, var=var, mval=mval, oname=oname, out=out, plane_type=plane_type, slice_position=slice_position, ifTranspose=ifTranspose)
Plot.set(args, if_manual_plot=manual_plot, if_save_result=save_result)
Plot.slice()
def plot_diff(filename, ndim, out = './', oname = 'fig.png', var=[None], mval=[None]):
def plot_diff(filename, ndim, out = './', oname = 'fig.png', var=[None], mval=[None], ifTranspose=False):
Plot = Plotter()
args = Args(filename, Plot.plot_diff, var=var, mval=mval, oname=oname, out=out, ndim=ndim)
args = Args(filename, Plot.plot_diff, var=var, mval=mval, oname=oname, out=out, ndim=ndim, ifTranspose=ifTranspose)
Plot.set(args, if_manual_plot=manual_plot, if_save_result=save_result)
Plot.plot_diff()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment