function boop = scaling(filename, labels)

% Create figure
figure1 = figure('Position', [300, 300, 350, 250]);

% Create axes
axes1 = axes('Parent',figure1);
% ylim(axes1,[0 ymax]);
% xlim(axes1,[0 xmax]);
box(axes1,'on');
hold(axes1,'all');
set(axes1,'XScale','log');
set(axes1,'YScale','log');

f1 = fopen(filename);

for pnum = 1:4
    % get label
    c = textscan(f1, '%s', 1, 'Delimiter', '\n');
    data_label = char(c{1});
    
    % pre-allocate data matrix; rows is one less, because x-vals header
    block_data = zeros(7, 2);
    
    % fill out matrix
    for row = 1:7
        row_data = textscan(f1, '%f', 2);
        block_data(row,:) = cell2mat(row_data);
    end
    if nargin < 2
        p = plot(block_data(:,1), block_data(:,2), 'DisplayName', data_label, 'Parent', axes1);
    else 
        p = plot(block_data(:,1), block_data(:,2), 'DisplayName', labels{pnum}, 'Parent', axes1);
    end
    colorLineStyle(p(1), pnum);
    
    % consume end of line
    textscan(f1, '%s', 1, 'Delimiter', '\n');
end

fclose(f1);

% Create xlabel
xlabel({'Number of Machines'});

% Create ylabel
ylabel({'Total Time (ms)'});

% Create legend
leg = legend(axes1,'show');
set(leg,'PlotBoxAspectRatio',[1 0.6 1]);
boop = 3;

end