diff --git a/plotter/Args.py b/plotter/Args.py
index 360763dbb14bd14756bd9247bf8f88d738639c09..7364793586ee5b62dc83efa14dd07dbd74b259c3 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, levels=None, plane_type = None, slice_position = None, ifTranspose=False):
+    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, linewidth = None, legend = None, colors = None, dpi=None):
         if out == "plotter_lib_pngs/":
             print("Output directory name can't be equal to " + out)
             sys.exit(-1)
@@ -20,6 +20,10 @@ class Args:
         self.plane_type = plane_type
         self.slice_position = slice_position
         self.ifTranspose = ifTranspose
+        self.linewidth = linewidth
+        self.legend = legend
+        self.colors = colors
+        self.dpi = dpi
 
         self.CorrVals()
 
diff --git a/plotter/Plotter.py b/plotter/Plotter.py
index ae249fd76af4a87741cbaa33fb8772db955aed14..302a8b2901a8150f9b8b704b406934bb4e1108fb 100755
--- a/plotter/Plotter.py
+++ b/plotter/Plotter.py
@@ -14,23 +14,27 @@ class Plotter:
 
     def __init__(self):
         self.ani_period = float(1./20.)
-        self.filename = None
-        self.out = None
-        self.oname = None
-        self.var = None
-        self.mval = None
-        self.function = None
-        self.file_column_names = None
-        self.title = None
-        self.file_data = None
-        self.plt_max_val = None
-        self.plt_min_val = None
-        self.min_y = None
-        self.max_y = None
-        self.min_max_var_vals = None
-        self.plane_type = None
-        self.slice_position = None
-        self.ifTranspose = False
+        # self.filename = None
+        # self.out = None
+        # self.oname = None
+        # self.var = None
+        # self.mval = None
+        # self.function = None
+        # self.file_column_names = None
+        # self.title = None
+        # self.file_data = None
+        # self.plt_max_val = None
+        # self.plt_min_val = None
+        # self.min_y = None
+        # self.max_y = None
+        # self.min_max_var_vals = None
+        # self.plane_type = None
+        # self.slice_position = None
+        # self.ifTranspose = False
+        # self.linewidth = 4
+        # self.legend = None
+        # self.colors = None
+        # self.dpi = None
 
     def __check_arg_dim_equiv(self, args):
         if args.var != None and args.mval != None:
@@ -92,6 +96,10 @@ class Plotter:
         self.plane_type = args.plane_type
         self.slice_position = args.slice_position
         self.ifTranspose = args.ifTranspose
+        self.linewidth = args.linewidth
+        self.legend = args.legend
+        self.colors = args.colors
+        self.dpi = args.dpi
 
         if args.levels != None:
             self.levels = args.levels
@@ -205,15 +213,20 @@ class Plotter:
             y_name = self.var[i]
             fig = plt.figure()
 
+            color_i = 0
             for read_data in self.file_data:
                 if self.ifTranspose:
-                    plt.plot(read_data.data[y_name], read_data.data[x_name], linewidth=4)
+                    plt.plot(read_data.data[y_name], read_data.data[x_name], linewidth=self.linewidth, color = self.colors[color_i])
                 else:
-                    plt.plot(read_data.data[x_name], read_data.data[y_name], linewidth=4)
+                    plt.plot(read_data.data[x_name], read_data.data[y_name], linewidth=self.linewidth, color = self.colors[color_i])
+                color_i += 1
 
-            plt.legend(self.filename)
+            if self.legend is not None:
+                plt.legend(self.legend)
+            else:
+                plt.legend(self.filename)
 
-            if self.ifTranspose:
+            if self.ifTranspose is False:
                 plt.xlabel(x_name, fontsize=10, fontweight='bold')
                 plt.ylabel(y_name, fontsize=10, fontweight='bold')
             else:
@@ -222,7 +235,11 @@ class Plotter:
             
             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)
+            if self.if_save_result: 
+                if self.dpi is not None:
+                    fig.savefig(self.out + self.fig_names[i] + self.fig_end, dpi = self.dpi)
+                else:
+                    fig.savefig(self.out + self.fig_names[i] + self.fig_end)
 
     def __get_min_max_ax(self):
         min_max_var_vals = {var : [] for var in self.var}
diff --git a/plotter/main.py b/plotter/main.py
index 089ba36dbd26f631310ac105ab0939ade68a86a0..cad62c3b080297e11db2d3eeb49b5b6ab55e1ee7 100755
--- a/plotter/main.py
+++ b/plotter/main.py
@@ -26,9 +26,9 @@ def joint_plot(filename, out = './', oname = [None], var=[None], mval=[None], mi
     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, ifTranspose=False):
+def multiple_plot(filename, out = './', oname = 'fig.png', var=[None], mval=[None], min_y = None, max_y = None, ifTranspose=False, linewidth = None, legend = None, colors = None, dpi=None):
     Plot = Plotter()
-    args = Args(filename, Plot.multiple_plot, var=var, mval=mval, oname=oname, out=out, ifTranspose=ifTranspose)
+    args = Args(filename, Plot.multiple_plot, var=var, mval=mval, oname=oname, out=out, ifTranspose=ifTranspose, linewidth=linewidth, legend=legend, colors=colors, dpi=dpi)
     Plot.set(args, if_manual_plot=manual_plot, if_save_result=save_result)
     Plot.multiple_plot()