From ffef8a7753f9d8426a9d346299accc601b090416 Mon Sep 17 00:00:00 2001
From: Martin Killenberg <martin.killenberg@desy.de>
Date: Mon, 9 Jan 2023 16:35:28 +0100
Subject: [PATCH] split plot function into reading of CVS and plotting of data
 frame

---
 Python_script/prototype.py | 21 ++++++++++++---------
 1 file changed, 12 insertions(+), 9 deletions(-)

diff --git a/Python_script/prototype.py b/Python_script/prototype.py
index 58c2710..cdef1f1 100755
--- a/Python_script/prototype.py
+++ b/Python_script/prototype.py
@@ -275,18 +275,18 @@ class Measurements:
         return (target_hum-self.max_delta_hum <= float(readback_hum)) and \
                (float(readback_hum) <= target_hum+self.max_delta_hum)
 
-def plot_output(output_basename, show_plot_window, save_pdf=True):
-    csv_data = pd.read_csv(output_basename+'.csv')
+# plot a single measurement (phase, magnitude, temp and hum against time) from a pandas data frame
+def plot_measurement(data_frame, show_plot_window, save_pdf=True):
     fig, ax1 = plt.subplots(2, figsize=(12, 10))
     fig.suptitle("Graphical representation of chamber output", color="red")
 
-    path_collection01 = ax1[0].scatter(csv_data.TIMESTAMP, csv_data.S21_PHASE, c='red', marker='<', label='Phase')
+    path_collection01 = ax1[0].scatter(data_frame.TIMESTAMP, data_frame.S21_PHASE, c='red', marker='<', label='Phase')
     twin2_0 = ax1[0].twinx()
-    path_collection02 = twin2_0.scatter(csv_data.TIMESTAMP, csv_data.S21_MAGNITUDE, c='#3120E0', marker='4',
+    path_collection02 = twin2_0.scatter(data_frame.TIMESTAMP, data_frame.S21_MAGNITUDE, c='#3120E0', marker='4',
                                         label='Magnitude')
     twin3_0 = ax1[0].twinx()
     twin3_0.spines['right'].set_position(('outward', 40))
-    path_collection03 = twin3_0.scatter(csv_data.TIMESTAMP, csv_data.EQUILIBRIUM_INDICATOR, c='black', marker=".",
+    path_collection03 = twin3_0.scatter(data_frame.TIMESTAMP, data_frame.EQUILIBRIUM_INDICATOR, c='black', marker=".",
                                         label='Equilibrium_Indicator')
     ax1[0].set_xlabel("TIMESTAMP")
     ax1[0].set_ylabel("PHASE", color='red')
@@ -298,14 +298,14 @@ def plot_output(output_basename, show_plot_window, save_pdf=True):
     labels = [pc.get_label() for pc in all_path_collections]
     ax1[0].legend(all_path_collections, labels, loc='lower right')
 
-    path_collection11 = ax1[1].scatter(csv_data.TIMESTAMP, csv_data.READBACK_TEMPERATURE, c='blue', marker='p',
+    path_collection11 = ax1[1].scatter(data_frame.TIMESTAMP, data_frame.READBACK_TEMPERATURE, c='blue', marker='p',
                                        label="Temperature")
     twin2_1 = ax1[1].twinx()
-    path_collection12 = twin2_1.scatter(csv_data.TIMESTAMP, csv_data.READBACK_HUMIDITY, c='green', marker="*",
+    path_collection12 = twin2_1.scatter(data_frame.TIMESTAMP, data_frame.READBACK_HUMIDITY, c='green', marker="*",
                                         label="Humidity")
     twin3_1 = ax1[1].twinx()
     twin3_1.spines['right'].set_position(('outward', 40))
-    path_collection13 = twin3_1.scatter(csv_data.TIMESTAMP, csv_data.EQUILIBRIUM_INDICATOR, c='black', marker=".",
+    path_collection13 = twin3_1.scatter(data_frame.TIMESTAMP, data_frame.EQUILIBRIUM_INDICATOR, c='black', marker=".",
                                         label="Equilibrium_Indicator")
     ax1[1].set_xlabel("TIMESTAMP")
     ax1[1].set_ylabel("TEMPERATURE ", color='blue')
@@ -322,7 +322,10 @@ def plot_output(output_basename, show_plot_window, save_pdf=True):
     if show_plot_window:
         plt.show()
 
-
+def plot_output(output_basename, show_plot_window, save_pdf=True):
+    data_frame = pd.read_csv(output_basename+'.csv')
+    plot_measurement(data_frame, show_plot_window, save_pdf)
+    
 if __name__ == '__main__':
     parser = ArgumentParser()
     parser.add_argument("-c", "--chamber",
-- 
GitLab