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