Skip to content
Snippets Groups Projects
plot_Tsg.m 2.66 KiB
Newer Older
jacques.grelet_ird.fr's avatar
jacques.grelet_ird.fr committed
function plot_Tsg( hTsgGUI, hAxes, PlotNum, X, Y, QC, para, colVal, ...
                   lineType, markType, markSize )
%
% Function to plot TSG parameters
% The program can plot parameter of style SSPS or SSPS_ADJUSTED
% in that last case we need to extract the name of the parameter
%
% Input
% -----
% hTsgGUI ........ Handle to the user interface
% hAxes   ........ Handle to the graphic axes
% PlotNum ........ Plot Number (used for the TAG)
% X
% Y
% QC ............. QC array - If empty plot using  Color specification
% para
% colVal ..........[]       - Draw Para taking into account color QC code
%                  'k''b'... - Draw Para using Color code 
% lineType ....... Matlab type : 'none', '-', '--', ':', '-.'
% markType ....... Matlab type
% markSize ....... Integer
% Para ........... Parametre whose difference with TSG data is plot
% Get the data from the application GUI
% -------------------------------------
tsg = getappdata( hTsgGUI, 'tsg_data');

if ~isempty( X ) && ~isempty( Y )
jacques.grelet_ird.fr's avatar
jacques.grelet_ird.fr committed
  % get axes
  % --------
  axes( hAxes(PlotNum) );
  % Plot using QC
  % -------------
  if ~isempty(QC)

    % get list of keys from hashtable tsg.qc.hash, defined inside
    % tsg_initialisation.m
    % -----------------------------------------------------------

    % Plot Sample/TSG differences on axe 2
    % iterate (loop) on each key store inside hastable
    % ------------------------------------------------

      % get key and some values in hashtable
      % ------------------------------------
        qcState = tsg.qc.hash.(key).state;
        qcCode = tsg.qc.hash.(key).code;
        qcColor = tsg.qc.hash.(key).color;
%       qcState = get(tsg.qc.hash, key, 'state');
%       qcCode  = get(tsg.qc.hash, key, 'code');
%       qcState = get(tsg.qc.hash, key, 'color');
Yves Gouriou's avatar
Yves Gouriou committed
      % plot tsg salinity sample with right code/color
      % ----------------------------------------------
Yves Gouriou's avatar
Yves Gouriou committed
      ind = find( QC == qcCode );
      if ~isempty( ind )
Yves Gouriou's avatar
Yves Gouriou committed
        line( X(ind), Y(ind), ...
          'Tag', ['TAG_PLOT' num2str(PlotNum) '_LINE_' para '_' char(key)],...
Yves Gouriou's avatar
Yves Gouriou committed
          'LineStyle', lineType, ...
          'Marker', markType, 'MarkerSize', markSize, 'Color', qcColor);
Yves Gouriou's avatar
Yves Gouriou committed
      end
    line( X, Y, 'Tag', ['TAG_PLOT' num2str(PlotNum) '_LINE_' para], ...
                'LineStyle', lineType, ...
                'Marker', markType, 'MarkerSize', markSize, 'Color', colVal);
Yves Gouriou's avatar
Yves Gouriou committed
  
%   hold off;

  % Write some 'Y' label
  % ------------------
  set(get(hAxes(PlotNum), 'Ylabel'), 'Interpreter', 'none', 'String', para);