From b2666b95de4926b29f07e7a223cec7912636116a Mon Sep 17 00:00:00 2001
From: Martin Killenberg <martin.killenberg@desy.de>
Date: Thu, 26 Oct 2023 18:32:20 +0200
Subject: [PATCH] fix: exception when only having one value in sweep

---
 Python_script/analysis.py | 22 ++++++++++++----------
 1 file changed, 12 insertions(+), 10 deletions(-)

diff --git a/Python_script/analysis.py b/Python_script/analysis.py
index 94bbf77..4dffe72 100644
--- a/Python_script/analysis.py
+++ b/Python_script/analysis.py
@@ -159,8 +159,8 @@ def plot_sweep(temperatures, humidities, basename, sweep_type, measurement_sets,
             deriv_data['signal0_deltas'][:] = [x * phase_to_time for x in deriv_data['signal0_deltas']]
             deriv_data['signal1_deltas'][:] = [x / analysis_config['cable_length'] for x in deriv_data['signal1_deltas']]
 
-    ax4.set_ylabel('$\\Delta$t [fs/m/K]')
-    ax5.set_ylabel('$\\Delta$A [dB/m/K]')
+        ax4.set_ylabel('$\\Delta$t [fs/m/K]')
+        ax5.set_ylabel('$\\Delta$A [dB/m/K]')
 
 
     #######################################################################################################################
@@ -175,16 +175,18 @@ def plot_sweep(temperatures, humidities, basename, sweep_type, measurement_sets,
     for measurement_set in measurement_sets:
         ax4.scatter(derivatives[measurement_set]['x_deltas'], derivatives[measurement_set]['signal0_deltas'], marker='+')
         ax5.scatter(derivatives[measurement_set]['x_deltas'], derivatives[measurement_set]['signal1_deltas'], marker='+')
-        ax4_mins.append(min(derivatives[measurement_set]['signal0_deltas']))
-        ax4_maxs.append(max(derivatives[measurement_set]['signal0_deltas']))
-        ax5_mins.append(min(derivatives[measurement_set]['signal1_deltas']))
-        ax5_maxs.append(max(derivatives[measurement_set]['signal1_deltas']))
+        if not len(derivatives[measurement_set]['signal0_deltas']) == 0:
+            ax4_mins.append(min(derivatives[measurement_set]['signal0_deltas']))
+            ax4_maxs.append(max(derivatives[measurement_set]['signal0_deltas']))
+            ax5_mins.append(min(derivatives[measurement_set]['signal1_deltas']))
+            ax5_maxs.append(max(derivatives[measurement_set]['signal1_deltas']))
 
     # set auto y range which does not work properly for small values in scatter
-    dy4 = (max(ax4_maxs) - min(ax4_mins))*0.1
-    ax4.set_ylim(min(ax4_mins)-dy4, max(ax4_maxs)+dy4)
-    dy5 = (max(ax5_maxs) - min(ax5_mins))*0.1
-    ax5.set_ylim(min(ax5_mins)-dy5, max(ax5_maxs)+dy5)
+    if not len(ax4_maxs) == 0:
+        dy4 = (max(ax4_maxs) - min(ax4_mins))*0.1
+        ax4.set_ylim(min(ax4_mins)-dy4, max(ax4_maxs)+dy4)
+        dy5 = (max(ax5_maxs) - min(ax5_mins))*0.1
+        ax5.set_ylim(min(ax5_mins)-dy5, max(ax5_maxs)+dy5)
 
     fig.tight_layout()  # otherwise the legend is clipped
 
-- 
GitLab