Added old/new comparison plots

This commit is contained in:
Xaseiresh 2024-09-02 16:34:09 +02:00
parent d246d15360
commit 9b0520bee8
8 changed files with 113 additions and 10 deletions

View file

@ -1,3 +1,4 @@
time,voltage
0.003,0.034644
0.003004,0.034621
0.003008,0.03458

1 0.003 time 0.034644 voltage
1 time voltage
2 0.003 0.003 0.034644 0.034644
3 0.003004 0.003004 0.034621 0.034621
4 0.003008 0.003008 0.03458 0.03458

View file

@ -1,3 +1,4 @@
time,voltage
0.003,0.034314
0.003004,0.033956
0.003008,0.03252

1 0.003 time 0.034314 voltage
1 time voltage
2 0.003 0.003 0.034314 0.034314
3 0.003004 0.003004 0.033956 0.033956
4 0.003008 0.003008 0.03252 0.03252

View file

@ -1,3 +1,4 @@
time,voltage
0.003,0.037185
0.003004,0.037185
0.003008,0.037544

1 0.003 time 0.037185 voltage
1 time voltage
2 0.003 0.003 0.037185 0.037185
3 0.003004 0.003004 0.037185 0.037185
4 0.003008 0.003008 0.037544 0.037544

View file

@ -1,3 +1,4 @@
time,voltage
0.003,0.18145
0.003004,0.20729
0.003008,0.23851

1 0.003 time 0.18145 voltage
1 time voltage
2 0.003 0.003 0.18145 0.18145
3 0.003004 0.003004 0.20729 0.20729
4 0.003008 0.003008 0.23851 0.23851

View file

@ -1,3 +1,4 @@
time,voltage
0.003,0.065177
0.003004,0.10681
0.003008,0.16351

1 0.003 time 0.065177 voltage
1 time voltage
2 0.003 0.003 0.065177 0.065177
3 0.003004 0.003004 0.10681 0.10681
4 0.003008 0.003008 0.16351 0.16351

View file

@ -1,3 +1,4 @@
time,voltage
0.003,0.12952
0.003004,0.15397
0.003008,0.19317

1 0.003 time 0.12952 voltage
1 time voltage
2 0.003 0.003 0.12952 0.12952
3 0.003004 0.003004 0.15397 0.15397
4 0.003008 0.003008 0.19317 0.19317

View file

@ -207,7 +207,7 @@ def plot_single_graph(fig, plot_config, plot_data):
x_data = plot_data[x_key];
y_data = plot_data[y_key];
ax.plot(x_data, y_data);
ax.plot(x_data, y_data, linewidth=plot_config.get('linewidth'));
if(not 'xformatter' in plot_config):
plot_config['xformatter'] = 'engineering';
@ -231,16 +231,19 @@ def plot_lt_sweep(fig, plot_config, plot_data):
if(y_key == None):
raise RuntimeError("No Y-Data Key (`y_key`) specified for plot!")
num_steps = len(plot_data['steps'])
for idx, step in enumerate(plot_data['steps']):
plot_params = dict()
plot_params['label'] = step['step']
if(plot_config.get('colourmap', 'coolwarm') == 'coolwarm'):
num_steps = len(plot_data['steps'])
cmap = plt.cm.coolwarm
if(plot_config.get('colourmap', 'coolwarm') == 'coolwarm'):
cmap = plt.cm.coolwarm
plot_params['color'] = cmap(idx/(num_steps-1))
plot_params['linewidth'] = plot_config.get('linewidth');
for idx, step in enumerate(plot_data['steps']):
ax.plot(step[x_key], step[y_key], color=cmap(idx/(num_steps-1)), label=step['step']);
else:
for idx, step in enumerate(plot_data['steps']):
ax.plot(step[x_key], step[y_key], label=step['step']);
ax.plot(step[x_key], step[y_key], **plot_params)
if(not 'xformatter' in plot_config):
plot_config['xformatter'] = 'engineering';
@ -250,7 +253,14 @@ def plot_lt_sweep(fig, plot_config, plot_data):
if(not 'xmax' in plot_config):
plot_config['xmax'] = np.max(plot_data['steps'][0][x_key]);
ax.legend();
if(num_steps > 1):
legend_opts = dict()
legend_opts['title'] = "TEST"
if('legend_title' in plot_config):
legend_opts['title'] = plot_config['legend_title']
ax.legend(**legend_opts);
decorate_ax(ax, plot_config);
@ -266,9 +276,45 @@ def perform_bandwidth_normalization(plot_data, plot_config):
step[plot_config['y_key']] = new_y_data
def perform_peak_normalization(plot_data, plot_config):
print("Normalizing peak height to 1")
for step in plot_data['steps']:
y_data = step[plot_config['y_key']]
new_y_data = []
y_max = max(y_data)
y_min = min(y_data)
scaling_factor = y_max if (y_max > (-y_min)) else y_min
for datapoint in y_data:
new_y_data.append(datapoint / scaling_factor)
step[plot_config['y_key']] = new_y_data
def perform_offset_removal(plot_data, plot_config):
print("Removing offset")
for step in plot_data['steps']:
y_data = step[plot_config['y_key']]
new_y_data = []
offset_value = np.percentile(y_data, 30)
for datapoint in y_data:
new_y_data.append(datapoint - offset_value)
step[plot_config['y_key']] = new_y_data
def perform_processing_step(data_process_step, plot_data, plot_config):
if(data_process_step == 'normalize_bandwidth'):
perform_bandwidth_normalization(plot_data, plot_config)
if(data_process_step == 'remove_offset'):
perform_offset_removal(plot_data, plot_config)
if(data_process_step == 'normalize_peak'):
perform_peak_normalization(plot_data, plot_config)
def generate_plot(plot_config):
global YAML_DIR;

View file

@ -7,6 +7,56 @@ defaults:
Cin: $C_{in}$
plots:
- loadtype: multicsv
load:
Gemitiv: IMS Measurements/Spectrum_7.csv
HighTIME: IMS Measurements/Spectrum_23.csv
load_values: ["time", "voltage"]
type: lt_sweep
data_processing_steps:
- normalize_peak
- remove_offset
- normalize_peak
y_key: voltage
x_key: time
xscale: linear
xlabel: Zeit (s)
ylabel: Normalisierter Messwert (a.u.)
linewidth: 1
ofile: IMS Measurements/averaged_compare.png
- loadtype: multicsv
load:
Gemitiv: IMS Measurements/Spectrum_59.csv
HighTIME: IMS Measurements/Spectrum_37.csv
load_values: ["time", "voltage"]
type: lt_sweep
data_processing_steps:
- normalize_peak
- remove_offset
- normalize_peak
y_key: voltage
x_key: time
xscale: linear
xlabel: Zeit (s)
ylabel: Normalisierter Messwert (a.u.)
linewidth: 0.8
ofile: IMS Measurements/raw_compare.png
- load:
47M N.1: V1_Measurements/V1.1-a1/47M_cap/linearity_1.csv
47M N.2: V1_Measurements/V1.1-a1/47M_cap/linearity_2.csv
@ -668,6 +718,7 @@ plots:
y_key: V(n002) dB
title: Verstärkung bei variiertem GBWP
legend_title: GBWP
ylabel: Normalisierte Verstärkung (dB)
- load: DesignEstimate/CompositeStage_ADA4817_StageAmpSweep_bandwidth.txt