function plot_Correction( hMainFig, hPlotAxes )


% Reinitialise plot 1 and 3
% -------------------------
erase_Line( hPlotAxes, 1 );
erase_Line( hPlotAxes, 2 );
erase_Line( hPlotAxes, 3 );

% Get tsg application data
% ------------------------
tsg    = getappdata( hMainFig, 'tsg_data');

% Plot the samples
% ----------------
if ~isempty( tsg.SSPS_SPL )
  ind = find( tsg.SSPS_SPL_TYPE == 1 );
  if ~isempty(ind)
    plot_Tsg( hMainFig, hPlotAxes, 1, tsg.DAYD_SPL(ind),...
              tsg.SSPS_SPL_DIF(ind), tsg.SSPS_SPL_QC(ind),...
              'SSPS_SPL_1','','none','square',5);
  end
  ind = find( tsg.SSPS_SPL_TYPE > 1 );
  if ~isempty(ind)
    plot_Tsg( hMainFig, hPlotAxes, 1, tsg.DAYD_SPL(ind),...
              tsg.SSPS_SPL_DIF(ind), tsg.SSPS_SPL_QC(ind),...
              'SSPS_SPL_2','','none','o',5);
  end
end

% Get the code for VALUE_CHANGED
% ------------------------------
VALUE_CHANGED = get(tsg.qc.hash, 'VALUE_CHANGED', 'code');

% Select the record with VALUE_CHANGED code
% -----------------------------------------
indVC = find( tsg.SSPS_ADJUSTED_QC == VALUE_CHANGED);

% Plot the difference tsg.SSPS_ADJUSTED-tsg.SSPS on axe 1
% but only for records that were corrected using Water Sample
% and not corrected with the calibration coefficients
% -------------------------------------------------------
plot_Tsg( hMainFig, hPlotAxes, 1,...
          tsg.DAYD(indVC), tsg.SSPS_ADJUSTED(indVC)-tsg.SSPS(indVC),...
          [], 'SSPS_ADJUSTED','b','none','.',1);

% Plot SSPS and SAMPLE, with code color, on axe 2
% ------------------------------------------------
plot_Tsg( hMainFig, hPlotAxes, 2, tsg.DAYD, tsg.SSPS, tsg.SSPS_QC,...
          'SSPS','','none','*',2);
        
if ~isempty( tsg.SSPS_SPL )
  ind = find( tsg.SSPS_SPL_TYPE == 1 );
  if ~isempty(ind)
    plot_Tsg( hMainFig, hPlotAxes, 2, tsg.DAYD_SPL(ind),...
              tsg.SSPS_SPL(ind), tsg.SSPS_SPL_QC(ind),...
              'SSPS_SPL_1','','none','square',5);
  end
  ind = find( tsg.SSPS_SPL_TYPE > 1 );
  if ~isempty(ind)
    plot_Tsg( hMainFig, hPlotAxes, 2, tsg.DAYD_SPL(ind),...
              tsg.SSPS_SPL(ind), tsg.SSPS_SPL_QC(ind),...
              'SSPS_SPL_2','','none','o',5);
  end
end

% Plot SSPS, with no code, on axe3
% --------------------------------
plot_Tsg( hMainFig, hPlotAxes, 3, tsg.DAYD, tsg.SSPS,...
          [],'SSPS','k','none','.',1);

% Plot TSG_ADJUSTED + ERROR on axe 3
% -----------------------------------
plot_Tsg( hMainFig, hPlotAxes, 3, tsg.DAYD(indVC),...
          tsg.SSPS_ADJUSTED(indVC) + tsg.SSPS_ADJUSTED_ERROR(indVC),...
          [], 'SSPS_ADJUSTED','g','none','.',1);
plot_Tsg( hMainFig, hPlotAxes, 3, tsg.DAYD(indVC),...
          tsg.SSPS_ADJUSTED(indVC) - tsg.SSPS_ADJUSTED_ERROR(indVC),...
          [], 'SSPS_ADJUSTED','g','none','.',1);

% Plot SSPS_ADJUSTED on axe 3
% ---------------------------
plot_Tsg( hMainFig, hPlotAxes, 3,...
        tsg.DAYD(indVC), tsg.SSPS_ADJUSTED(indVC), [],...
        'SSPS_ADJUSTED','r','none','.',3);

end
