From ba5a40d07954931be767185d1ec1f490f23a33de Mon Sep 17 00:00:00 2001
From: Lizzzka007 <gashchuk2011@mail.ru>
Date: Fri, 23 Jun 2023 15:26:20 +0300
Subject: [PATCH] Multiple figs by variables in file:

 plot, ani_plot, multiple_plot
---
 plotter/Plotter.py | 52 ++++++++++++++++++++++++++++------------------
 1 file changed, 32 insertions(+), 20 deletions(-)

diff --git a/plotter/Plotter.py b/plotter/Plotter.py
index f171297..c6876ef 100755
--- a/plotter/Plotter.py
+++ b/plotter/Plotter.py
@@ -106,37 +106,49 @@ class Plotter:
         os.system("mkdir -p " + self.out)
         x_name = self.file_column_names[0]
 
-        fig = plt.figure()
+        if self.oname == None:
+            fig_names = self.var
+            fig_end = ".png"
+        else:
+            fig_names = self.oname
+            fig_end = ""
 
-        for y_name in self.var:
+        for i in range(self.fig_count):
+            y_name = self.var[i]
+            fig = plt.figure()
+            
             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')
-        plt.xlabel(y_name, fontsize=10, fontweight='bold')
-
-        if self.if_manual_plot: plt.show()
-        else: plt.close(fig)
-        if self.if_save_result: fig.savefig(self.out + self.oname[0])
+            plt.xlabel(x_name, fontsize=10, fontweight='bold')
+            plt.ylabel(y_name, fontsize=10, fontweight='bold')
+            
+            if self.if_manual_plot: plt.show()
+            else: plt.close(fig)
+            if self.if_save_result: fig.savefig(self.out + fig_names[i] + fig_end)
 
     def __multiple_plot(self):
         os.system("mkdir -p " + self.out)
         x_name = self.file_column_names[0]
 
-        fig = plt.figure()
+        if self.oname == None:
+            fig_names = self.var
+            fig_end = ".png"
+        else:
+            fig_names = self.oname
+            fig_end = ""
 
-        for data in self.file_data:
-            for y_name in self.var:
-                plt.plot(data.data[x_name], data.data[y_name], linewidth=4)
+        for i in range(self.fig_count):
+            y_name = self.var[i]
+            fig = plt.figure()
+
+            for read_data in self.file_data:
+                plt.plot(read_data.data[x_name], read_data.data[y_name], linewidth=4)
                 plt.legend(self.filename)
                 plt.xlabel(x_name, fontsize=10, fontweight='bold')
                 plt.ylabel(y_name, fontsize=10, fontweight='bold')
-
-        if self.if_manual_plot: plt.show()
-        else: plt.close(fig)
-        if self.if_save_result: fig.savefig(self.out + self.oname[0])
-
-
+            
+            if self.if_manual_plot: plt.show()
+            else: plt.close(fig)
+            if self.if_save_result: fig.savefig(self.out + fig_names[i] + fig_end)
 
     def __get_min_max_ax(self):
         min_max_var_vals = {var : [] for var in self.var}
-- 
GitLab