function MakeSpectroPlots(computer_measurements,spectro_measurements,...
   fill_order,engines,printers,simPrintColors,bestspec,SaveAllPlots),
 

for engine_num = 1:length(spectro_measurements.engine),
   for printer_num = 1:length(spectro_measurements.engine(engine_num).printer),
      % Plot Spectroradiometer-measured gamut along with the monitor's gamuts
      % ======================================================================
      f = figure;
      fill(computer_measurements.engine(engine_num).printer(printer_num).simPrintColors(1).xy(1,fill_order),...
         computer_measurements.engine(engine_num).printer(printer_num).simPrintColors(1).xy(2,fill_order),'b*');
      hold on;
      fill(computer_measurements.engine(engine_num).printer(printer_num).simPrintColors(2).xy(1,fill_order),...
         computer_measurements.engine(engine_num).printer(printer_num).simPrintColors(2).xy(2,fill_order),'r*');
      fill(spectro_measurements.engine(engine_num).printer(printer_num).xy(1,fill_order),...
         spectro_measurements.engine(engine_num).printer(printer_num).xy(2,fill_order),'c');
      hold on;
      plot(spectro_measurements.whitepoint.xy(1),spectro_measurements.whitepoint.xy(2),'ko');
      plot(bestspec(1,:),bestspec(2,:),'r');
      axis([0 .9 0 .9]);
      axis square;
      ylabel('y chromaticity');
      xlabel('x chromaticity');
      title(sprintf('%s\n%s','Gamut Comparison',[printers(printer_num).name{1},'::',engines(engine_num).name{1}]));
      legend('White Point','Ideal Gamut','Monitor - No Sim','Monitor - Sim','Printed Gamut');
      if (SaveAllPlots == 1),
         print( f, '-djpeg90', ['Sgamut2E',num2str(engine_num),'P',num2str(printer_num),'.jpg']);
      end
   end
 
   if (~isempty(computer_measurements.engine(engine_num).printer(printer_num).simPrintColors(2).convertxy)),
      % Plot Spectro-measured gamuts of the RGB->CMYK conversion printouts along
      % with the monitor's gamuts of the same process
      %==========================================================================
      f = figure;
      fill(computer_measurements.engine(engine_num).printer(printer_num).simPrintColors(2).xy(1,1:3),...
         computer_measurements.engine(engine_num).printer(printer_num).simPrintColors(2).xy(2,1:3),'r*');
      hold on;
      fill(computer_measurements.engine(engine_num).printer(printer_num).simPrintColors(2).convertxy(1,1:3),...
         computer_measurements.engine(engine_num).printer(printer_num).simPrintColors(2).convertxy(2,1:3),'b*');
      fill(spectro_measurements.engine(engine_num).printer(printer_num).convertxy(1,1:3),...
         spectro_measurements.engine(engine_num).printer(printer_num).convertxy(2,1:3),'c');
      plot(spectro_measurements.whitepoint.xy(1),spectro_measurements.whitepoint.xy(2),'ko');
      plot(bestspec(1,:),bestspec(2,:),'r');
      axis([0 .9 0 .9]);
      axis square;
      ylabel('y chromaticity');
      xlabel('x chromaticity');
      title(sprintf('%s\n%s','Gamut Comparison',[printers(printer_num).name{1},'::',engines(engine_num).name{1}]));
      legend('White Point','Ideal Gamut','Original RGB','RGB->CMYK','Printed Gamut');
      if (SaveAllPlots == 1),
         print( f, '-djpeg90', ['SgamutCRE',num2str(engine_num),'P',num2str(printer_num),'.jpg']);
      end

      % Plot Spectro-measured gamuts of the CMYK->RGB conversion printouts along
      % with the monitor's gamuts of the same process
      %==========================================================================
      f = figure;
      fill(computer_measurements.engine(engine_num).printer(printer_num).simPrintColors(2).xy(1,4:6),...
         computer_measurements.engine(engine_num).printer(printer_num).simPrintColors(2).xy(2,4:6),'r*');
      hold on;
      fill(computer_measurements.engine(engine_num).printer(printer_num).simPrintColors(2).convertxy(1,4:6),...
         computer_measurements.engine(engine_num).printer(printer_num).simPrintColors(2).convertxy(2,4:6),'b*');
      fill(spectro_measurements.engine(engine_num).printer(printer_num).convertxy(1,4:6),...
         spectro_measurements.engine(engine_num).printer(printer_num).convertxy(2,4:6),'c');
      plot(spectro_measurements.whitepoint.xy(1),spectro_measurements.whitepoint.xy(2),'ko');
      plot(bestspec(1,:),bestspec(2,:),'r');
      axis([0 .9 0 .9]);
      axis square;
      ylabel('y chromaticity');
      xlabel('x chromaticity');
      title(sprintf('%s\n%s','Gamut Comparison',[printers(printer_num).name{1},'::',engines(engine_num).name{1}]));
      legend('White Point','Ideal Gamut','Original CMYK','CMYK->RGB','Printed Gamut');
      if (SaveAllPlots == 1),
         print( f, '-djpeg90', ['SgamutCCE',num2str(engine_num),'P',num2str(printer_num),'.jpg']);
      end
   end
end

% Plot the spectro-measured gamuts of the RGB->CMYK conversion printouts for
% each engine on the same axis
%============================================================================
f = figure;
fill(spectro_measurements.engine(2).printer(3).convertxy(1,1:3),...
   spectro_measurements.engine(2).printer(3).convertxy(2,1:3),'b*');
hold on;
fill(spectro_measurements.engine(1).printer(3).convertxy(1,1:3),...
   spectro_measurements.engine(1).printer(3).convertxy(2,1:3),'r*');
plot(spectro_measurements.whitepoint.xy(1),spectro_measurements.whitepoint.xy(2),'co');
plot(bestspec(1,:),bestspec(2,:),'r');
axis([0 .9 0 .9]);
axis square;
ylabel('y chromaticity');
xlabel('x chromaticity');
title(sprintf('%s\n%s','Gamut Comparison',[printers(printer_num).name{1},'::',engines(engine_num).name{1}]));
legend('White Point','Ideal Gamut','Printed Engine 2 RGB->CMYK','Printed Engine 1 RGB->CMYK');
if (SaveAllPlots == 1),
   print( f, '-djpeg90', ['SgamutCR','.jpg']);
end

% Plot the spectro-measured gamuts of the CMYK->RGB conversion printouts for
% each engine on the same axis
%============================================================================
f = figure;
fill(spectro_measurements.engine(1).printer(3).convertxy(1,4:6),...
   spectro_measurements.engine(1).printer(3).convertxy(2,4:6),'r*');
hold on;
fill(spectro_measurements.engine(2).printer(3).convertxy(1,4:6),...
   spectro_measurements.engine(2).printer(3).convertxy(2,4:6),'b*');
plot(spectro_measurements.whitepoint.xy(1),spectro_measurements.whitepoint.xy(2),'co');
plot(bestspec(1,:),bestspec(2,:),'r');
axis([0 .9 0 .9]);
axis square;
ylabel('y chromaticity');
xlabel('x chromaticity');
title(sprintf('%s\n%s','Gamut Comparison',[printers(printer_num).name{1},'::',engines(engine_num).name{1}]));
legend('White Point','Ideal Gamut','Printed Engine 1 CMYK->RGB','Printed Engine 2 CMYK->RGB');
if (SaveAllPlots == 1),
   print( f, '-djpeg90', ['SgamutCC','.jpg']);
end