% ============================================================ % MINIMAL EXAMPLE: Query → Analyze → Plot → Extract X/Y data % ============================================================ %% === Load from database === db = DBHandler("dataBase","labor_highspeed","type","mysql"); fp = QueryFilter(); fp.where('Runs','fiber_length','EQUALS',2); % fp.where('Runs','pam_level','EQUALS',6); % PAM-4 % fp.where('Runs','db_mode','EQUALS',0); % w/o pre-emph fields = db.getTableFieldNames('dashboard_ungrouped_alltime'); [dataTable,~] = db.queryDB(fp, fields); %% === Define config === for m = [4,6,8] cfg = struct; cfg.x_axis = 'symbolrate'; cfg.y_axis = 'Alpha'; cfg.group_by = {'equalizer_structure','pre_emph'}; cfg.filters = struct('is_mpi',0,'pam_level',m, ... 'equalizer_structure',equalizer_structure.vnle_pf_mlse, ... 'pre_emph',0); cfg.agg = 'max'; cfg.outlier = 'mad'; cfg.show_raw = false; cfg.show_precoded = 0; % Plot cosmetics (minimal) cfg.plot = struct; cfg.plot.custom_colors = linspecer(8); cfg.plot.custom_linetypes = {'-'}; cfg.plot.lineWidth = 2; % ============================================================ % === ANALYSIS ONLY (no plotting) ============================= % ============================================================ A = analyze_measurements_gpt(dataTable, cfg); % Now you have: % A.raw.x = raw x-values % A.raw.y = raw BER values % A.group{1}.x = unique sorted x-values % A.group{1}.y = aggregated BER for each x x_values = A.group{1}.x; y_values = A.group{1}.y; % ============================================================ % === PLOT ==================================================== % ============================================================ figure(10);hold on cfg.ax = gca; % optional: plot into existing axes plot(x_values,y_values,... 'LineWidth', 2, ... 'Color', clr.Set1.red, ... 'MarkerSize', 5, ... 'MarkerFaceColor', clr.Set1.red,... 'Marker','o'); % [h, ~] = plot_measurements_gpt(dataTable, cfg); title('Minimal VNLE BER Example') xlabel('Grossrate [Gb/s]') ylabel('BER') xticks(100:30:220) xlim([100,220]); ylim([0,1]); end % outfile = 'C:\Users\Silas\Documents\latex\JLT_400G copy\media\matlab2tikz\alphas.tikz'; % matlab2tikz(outfile, ... % 'width','\fwidth', ... % 'height','\fheight', ... % 'showInfo',false, ... % 'extraAxisOptions',{ ... % 'legend style={font=\footnotesize}', ... % 'legend columns=1' ... % 'every axis/.append style={font=\scriptsize}',... % 'minor grid style={line width=0.2pt, solid, color=black!10}',... % 'grid style={line width=0.4pt, solid, color=black!20}',... % 'grid style={dashed}',... % });