diff --git a/plotter/Args.py b/plotter/Args.py
index 2aa1d1a33c8deddf5af5fce42247932cb2d38cfe..a820e66490b070069b8e92a8b0ae71ec280e0859 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):
+    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):
         if out == "plotter_lib_pngs/":
             print("Output directory name can't be equal to " + out)
             sys.exit(-1)
@@ -16,6 +16,7 @@ class Args:
         self.title = title
         self.min_y = min_y
         self.max_y = max_y
+        self.transpose = transpose
 
         self.CorrVals()
 
@@ -45,6 +46,10 @@ 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 656ce4e01e93eb36d195fbd146f99a35de097c3e..20accd89d5512536049fe73fd8277f69719626e2 100755
--- a/plotter/Plotter.py
+++ b/plotter/Plotter.py
@@ -28,6 +28,7 @@ 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:
@@ -67,6 +68,7 @@ class Plotter:
         self.title = args.title
         self.min_y = args.min_y
         self.max_y = args.max_y
+        self.transpose = args.transpose
 
         self.if_manual_plot = kwargs.get('if_manual_plot', False)
         self.if_save_result = kwargs.get('if_save_result', True)
@@ -103,8 +105,14 @@ class Plotter:
 
         fig = plt.figure()
 
-        for y_name in self.var:
-            plt.plot(self.file_data[0].data[x_name], self.file_data[0].data[y_name], linewidth=4)
+        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)
+
 
         plt.legend(self.var)
         plt.xlabel(x_name, fontsize=10, fontweight='bold')
@@ -165,9 +173,14 @@ class Plotter:
             for datafile in names:
                 fig = plt.figure()
                 plt.ylim([min_val, max_val])
-                
-                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)
+
+                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)
 
                 plt.legend(self.var)
                 plt.xlabel(x_name, fontsize=10, fontweight='bold')
@@ -224,11 +237,16 @@ class Plotter:
             vmin = min_val[self.var[i]]; vmax = max_val[self.var[i]];
        
             levels = np.linspace(vmin, vmax, 25)
-
             if self.function == self.plot_diff:
-                cp = ax.contourf(X, Y, Z)
+                if self.transpose[i]:
+                    cp = ax.contourf(Y, X, Z.T)
+                else:
+                    cp = ax.contourf(X, Y, Z)
             else:
-                cp = ax.contourf(X, Y, Z, vmin=vmin, vmax=vmax, levels=levels)
+                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)
             # 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)
@@ -292,7 +310,9 @@ class Plotter:
             duration = self.ani_period * len(self.filename)
 
             i = 0
-            for var in self.var:
+            vartp = list(range(len(self.var)))
+            for var, i in zip(self.var, vartp):
+
                 if self.title == None:
                     title = var
                 else:
@@ -308,7 +328,10 @@ class Plotter:
                     ax.set_ylabel(y_name)
 
                     Z = data.data[var]
-                    cp = ax.contourf(X, Y, Z, vmin=min_val[var], vmax=max_val[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])
                     fig.colorbar(cp) # Add a colorbar to a plot
                     plt.close(fig)
                     figname = var + str(counter)
@@ -350,9 +373,13 @@ class Plotter:
         x_name = self.file_column_names[2]
         x = self.file_data[0].data[x_name]
 
-        for var in self.var:
-            avg_data = self.__avg(self.file_data[0].data, var)
-            plt.plot(x, avg_data, linewidth=4)
+        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)
 
         plt.legend(self.var)
         plt.xlabel(x_name, fontsize=10, fontweight='bold')
diff --git a/plotter/main.py b/plotter/main.py
index af25505b4529ab2bc13fdca97504a6542cc06ac2..f8b15b6a50f831ffdb9ec3331fa8855c1c67ac71 100755
--- a/plotter/main.py
+++ b/plotter/main.py
@@ -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):
+def plot(filename, out = './', oname = 'fig.png', var=[None], mval=[None], min_y = None, max_y = None, transpose = None):
     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, transpose = transpose)
     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):
+def ani_plot(filename, out = './', oname = 'fig.gif', var=[None], mval=[None], min_y = None, max_y = None, transpose = 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)
+    args = Args(names, Plot.ani_plot, var=var, mval=mval, oname=oname, out=out, min_y=min_y, max_y=max_y, transpose = transpose)
     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):
+def plot_contour(filename, out = './', oname = [None], var=[None], mval=[None], min_y = None, max_y = None, transpose = 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)
+    args = Args([filename], Plot.plot_contour, var=var, mval=mval, oname=oname, out=out, min_y=min_y, max_y=max_y, transpose=transpose)
     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, transpose = 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)
+    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)
     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], transpose = None):
     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, transpose = None)
     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]):
+def plot_diff(filename, ndim, out = './', oname = 'fig.png', var=[None], mval=[None], transpose = None):
     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, transpose = None)
     Plot.set(args, if_manual_plot=manual_plot, if_save_result=save_result)
     Plot.plot_diff()