function difference_measure = MakeLabPlots(comp,spectro,engines,printers,SaveAllPlots),

i = 0;
for engine_num = 1:length(comp.engine),
   for printer_num = 1:length(comp.engine(engine_num).printer),
      % Calculate delta E for RGBCMYK for No Color Simulation vs. Printout,
      % for Color Simulation vs. Printout, and No Color Simulation vs. Color
      % Simulation
      %======================================================================
      dnosim = deltaLab(comp.engine(engine_num).printer(printer_num).simPrintColors(1).Lab,spectro.engine(engine_num).printer(printer_num).Lab);
      dsim = deltaLab(comp.engine(engine_num).printer(printer_num).simPrintColors(2).Lab,spectro.engine(engine_num).printer(printer_num).Lab);
      dsim_nosim = deltaLab(comp.engine(engine_num).printer(printer_num).simPrintColors(1).Lab,comp.engine(engine_num).printer(printer_num).simPrintColors(2).Lab);
 
      % Plot them all on the same axis
      %===============================
      f = figure;
      plot(1:7,dnosim,'r');
      hold on;
      plot(1:7,dsim,'b');
      plot(1:7,dsim_nosim,'g');
      axis([1 7 0 110]);
      set(gca,'xticklabel',['R';'G';'B';'C';'M';'Y';'K';]);
      ylabel('Delta E units');
      xlabel('Color');
      title(sprintf('%s\n%s','Lab Deltas',[printers(printer_num).name{1},'::',engines(engine_num).name{1}]));
      legend('No Sim Print Colors','Sim Print Colors','Sim Difference');
      if (SaveAllPlots == 1),
         print( f, '-djpeg90', ['LabE',num2str(engine_num),'P',num2str(printer_num),'.jpg']);
      end
 
      % Calculate the average distance between Colors in Lab Space.
      % ===========================================================
      i = i+1;
      difference_measure(i) = sum(dsim)/7;
 
      if (~isempty(comp.engine(engine_num).printer(printer_num).simPrintColors(2).convertLab)),
         diff1 = deltaLab(comp.engine(engine_num).printer(printer_num).simPrintColors(2).Lab,spectro.engine(engine_num).printer(printer_num).Lab);
         diff2 = deltaLab(comp.engine(engine_num).printer(printer_num).simPrintColors(2).convertLab,spectro.engine(engine_num).printer(printer_num).convertLab);
         diff3 = deltaLab(comp.engine(engine_num).printer(printer_num).simPrintColors(2).Lab,comp.engine(engine_num).printer(printer_num).simPrintColors(2).convertLab);
 
         f = figure;
         plot(1:3,diff1(1:3),'r');
         hold on;
         plot(1:3,diff2(1:3),'b');
         plot(1:3,diff3(1:3),'g');
         axis([1 3 0 110]);
         set(gca,'xtick',[1 2 3],'xticklabel',['R';'G';'B']);
         ylabel('Delta E units');
         xlabel('Color');
         title(sprintf('%s\n%s','Lab Deltas: RGB->CMYK',[printers(printer_num).name{1},'::',engines(engine_num).name{1}]));
         legend('Before Convert','After Convert','Convert Monitor Difference');
         if (SaveAllPlots == 1),
            print( f, '-djpeg90', ['LabCRE',num2str(engine_num),'P',num2str(printer_num),'.jpg']);
         end
 
         f = figure;
         plot(1:4,diff1(4:7),'r');
         hold on;
         plot(1:4,diff2(4:7),'b');
         plot(1:4,diff3(4:7),'g');
         axis([1 4 0 110]);
         set(gca,'xtick',[1 2 3 4],'xticklabel',['C';'M';'Y';'K']);
         ylabel('Delta E units');
         xlabel('Color');
         title(sprintf('%s\n%s','Lab Deltas: CMYK->RGB',[printers(printer_num).name{1},'::',engines(engine_num).name{1}]));
         legend('Before Convert','After Convert','Convert Monitor Difference');
         if (SaveAllPlots == 1),
            print( f, '-djpeg90', ['LabCCE',num2str(engine_num),'P',num2str(printer_num),'.jpg']);
         end
      end
   end
end
 

% Plot the average distance for each printer/engine setting
% ==========================================================
f = figure;
plot(difference_measure);
set(gca,'xtick',1:6,'xticklabel',['AI:AD';'HP:AD';'KD:AD';'AI:KD';'HP:KD';'KD:KD']);
ylabel('Delta E units');
xlabel('Adobe Color Setting');
title('Average Lab Difference Between Printout and Monitor Simulated Colors');
if (SaveAllPlots == 1),
   print( f, '-djpeg90', ['LabAve','.jpg']);
end