Skip to content
Snippets Groups Projects
Commit daf9f9b3 authored by Martin Killenberg's avatar Martin Killenberg
Browse files

feat: add derivatives to analysis

parent 5b418907
No related branches found
No related tags found
No related merge requests found
......@@ -69,23 +69,34 @@ def plot_sweep(temperatures, humidities, basename, sweep_type, measurement_sets,
if normalise[1]:
data['signal1_means'] -= data['signal1_means'][0]
fig = plt.figure(figsize=(10, 5))
gs = gridspec.GridSpec(nrows=2, ncols=1, hspace=0)#, width_ratios=[3, 1], height_ratios=[3, 1])
ax1 = fig.add_subplot(gs[0, 0])
ax2 = fig.add_subplot(gs[1, 0],sharex=ax1)
##gs = fig.add_gridspec(2, 1, hspace=0)
##(ax1, ax2) = gs.subplots(sharex=True)
#fig, (ax1, ax2) = plt.subplots(2, sharex=True, gridspec_kw={'hspace': 0}, figsize=(10, 5))
fig = plt.figure(figsize=(10, 15))
gs = gridspec.GridSpec(nrows=6, ncols=1, hspace=0)#, width_ratios=[3, 1], height_ratios=[3, 1])
upper_text_block = '\n'.join(['DUT name: some cable',
'SW version: FIXME'])
fig.text(0.1, 0.9, upper_text_block)
ax1 = fig.add_subplot(gs[1, 0])
ax2 = fig.add_subplot(gs[2, 0],sharex=ax1)
ax4 = fig.add_subplot(gs[4, 0])
ax5 = fig.add_subplot(gs[5, 0],sharex=ax4)
ax1.tick_params(bottom=True, top=True, direction='in')
ax2.tick_params(bottom=True, top=True, direction='inout')
ax4.tick_params(bottom=True, top=True, direction='in')
ax5.tick_params(bottom=True, top=True, direction='inout')
if sweep_type == 'temperature':
fig.suptitle(basename + ': Temperature sweep at ' + str(humidities[0]) + ' % r.h.')
ax2.set_xlabel('temperature [deg C]')
ax5.set_xlabel('temperature [deg C]')
denominator_name = '/ deg C'
elif sweep_type == 'humidity':
fig.suptitle(basename + ': Humidity sweep at ' + str(temperatures[0]) + ' deg C')
ax2.set_xlabel('relative humidity [%]')
ax5.set_xlabel('relative humidity [%]')
denominator_name = '/ % r.h.'
else:
raise Exception('Unknown sweep_type:'+str(sweep_type))
......@@ -107,8 +118,27 @@ def plot_sweep(temperatures, humidities, basename, sweep_type, measurement_sets,
yticks[-2].label1.set_visible(False) # don't ask me why we have to set the last two tick marks to invisible
ax2.legend(loc='center right', bbox_to_anchor=(1.5, 1.0))
#######################################################################################################################
# Derrivatives
#######################################################################################################################
for measurement_set in measurement_sets:
data = set_data[measurement_set]
deriv_data = derivatives[measurement_set]
for i in range(len(data['signal0_means'])-1):
ylabel = '$\\Delta$ '+reference_signal_names[0]+' '+denominator_name
deriv_data['signal0_deltas'].append((data['signal0_means'][i+1]-data['signal0_means'][i])/
(data['x_data'][i+1]-data['x_data'][i]))
deriv_data['signal1_deltas'].append((data['signal1_means'][i+1]-data['signal1_means'][i])/
(data['x_data'][i+1]+data['x_data'][i]))
deriv_data['x_deltas'].append((data['x_data'][i+1]+data['x_data'][i])/2)
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.set_ylabel('$\\Delta$ '+reference_signal_names[0]+' '+denominator_name)
ax5.set_ylabel('$\\Delta$ '+reference_signal_names[1]+' '+denominator_name)
fig.tight_layout() # otherwise the legend is clipped
plt.subplots_adjust(top=0.9) # avoid overlap with suptitle
fig.savefig(basename+measurement_set+'_analysis.pdf')
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment