function plot_Correction( hMainFig, hPlotAxes, PARA ) % IF PARA = 'SSJT' use 'SSTP' to get the samples % ---------------------------------------------- SAMPLE = PARA; if strcmp( SAMPLE, 'SSJT') SAMPLE = 'SSTP'; end % 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'); % Get the code for VALUE_CHANGED % ------------------------------ VALUE_CHANGED = get(tsg.qc.hash, 'VALUE_CHANGED', 'code'); % **************************** AXE 1 *********************************** % Plot the samples % ---------------- if ~isempty( tsg.([SAMPLE '_EXT']) ) % Plot bucket samples % ------------------- ind = 1: length( tsg.([SAMPLE '_EXT_TYPE'])); indWS = strmatch( 'WS', tsg.([SAMPLE '_EXT_TYPE']), 'exact'); if ~isempty(indWS) plot_Tsg( hMainFig, hPlotAxes, 1, tsg.DAYD_EXT(indWS),... tsg.EXT_DIF(indWS), tsg.([SAMPLE '_EXT_QC'])(indWS),... [PARA '_WS'],'','none','square',5); end % Plot other (external) samples % ----------------------------- indEXT = setxor(ind, indWS); if ~isempty(indEXT) plot_Tsg( hMainFig, hPlotAxes, 1, tsg.DAYD_EXT(indEXT),... tsg.EXT_DIF(indEXT), tsg.([SAMPLE '_EXT_QC'])(indEXT),... [PARA '_EXT'],'','none','o',5); end end % Select the records CORRECTED % Records corrected have an error value % ------------------------------------------- iERR = find( isnan(tsg.([PARA '_ADJUSTED_ERROR'])) == 0); % Plot the difference tsg.SSPS_ADJUSTED-tsg.SSPS on axe 1 % but only for records that were corrected using Water Sample % and but not corrected with the calibration coefficients. % ----------------------------------------------------------- if iERR ~= 0 plot_Tsg( hMainFig, hPlotAxes, 1,... tsg.DAYD(iERR),... tsg.([PARA '_ADJUSTED'])(iERR)-tsg.(PARA)(iERR),... [], [PARA '_ADJUSTED'],'b','none','.',1); end % **************************** AXE 2 *********************************** % Plot SSPS, SSJT, SSTP and SAMPLE, with code color, on axe 2 % ----------------------------------------------------------- plot_Tsg( hMainFig, hPlotAxes, 2, tsg.DAYD, tsg.(PARA), tsg.([PARA '_QC']),... PARA,'','none','*',2); if ~isempty( tsg.([SAMPLE '_EXT']) ) ind = 1: length( tsg.([SAMPLE '_EXT_TYPE'])); indWS = strmatch( 'WS', tsg.([SAMPLE '_EXT_TYPE']), 'exact'); if ~isempty(indWS) plot_Tsg( hMainFig, hPlotAxes, 2, tsg.DAYD_EXT(indWS),... tsg.([SAMPLE '_EXT'])(indWS), tsg.([SAMPLE '_EXT_QC'])(indWS),... [PARA '_WS'],'','none','square',5); end indEXT = setxor(ind, indWS); if ~isempty(indEXT) plot_Tsg( hMainFig, hPlotAxes, 2, tsg.DAYD_EXT(indEXT),... tsg.([SAMPLE '_EXT'])(indEXT), tsg.([SAMPLE '_EXT_QC'])(indEXT),... [PARA '_EXT'],'','none','o',5); end end % **************************** AXE 3 *********************************** % Plot SSPS, with no code, on axe3 % -------------------------------- plot_Tsg( hMainFig, hPlotAxes, 3, tsg.DAYD, tsg.([PARA '_ADJUSTED']), [],... [PARA '_ADJUSTED'],'r','none','*',2); plot_Tsg( hMainFig, hPlotAxes, 3, tsg.DAYD, tsg.(PARA),... [],PARA,'k','none','*',2); % Plot TSG_ADJUSTED + ERROR on axe 3 % ----------------------------------- if iERR ~= 0 plot_Tsg( hMainFig, hPlotAxes, 3, tsg.DAYD(iERR),... tsg.([PARA '_ADJUSTED'])(iERR) + tsg.([PARA '_ADJUSTED_ERROR'])(iERR),... [], [PARA '_ADJUSTED'],'g','none','*',2); plot_Tsg( hMainFig, hPlotAxes, 3, tsg.DAYD(iERR),... tsg.([PARA '_ADJUSTED'])(iERR) - tsg.([PARA '_ADJUSTED_ERROR'])(iERR),... [], [PARA '_ADJUSTED'],'g','none','*',2); end end