function som_show_clear(type, p) %SOM_SHOW_CLEAR Clear hit marks, labels or trajectories from current figure. % % som_show_clear([type], [p]) % % som_show_clear % som_show_clear('Traj',[1 2]) % % Input arguments ([]'s are optional): % [type] (string) which markers to delete (case insensitive) % 'hit' to remove hit marks % 'lab' to remove labels % 'traj' to remove line trajectories % 'comet' to remove comet trajectories % 'all' to remove all (the default) % [p] (vector) subplot number vector % (string) 'all' for all subplots (the default) % % This function removes the objects made by SOM_SHOW_ADD from a % figure. If no value is given for p, the function operates on every % axis in the current figure. It simply searches for the objects with % certain values in the 'Tag' field. It does not matter if the figure % objects are created by SOM Toolbox -functions or not. However, if % vector p or string 'all' _is_ given, the figure has to have been % created by SOM_SHOW. % % For more help, try 'type som_show_clear' or check out the helpdesk. % See also SOM_SHOW_ADD, SOM_SHOW. %%%%%%%%% DETAILED DESCRIPTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % som_show_clear % % PURPOSE % % Clear hit marks, labels or trajectories created by SOM_SHOW_ADD % from the current figure. % % SYNTAX % % som_show_clear % som_show_clear([type],[p]) % % DESCRIPTION % % The function SOM_SHOW_ADD creates some markers on the top of % visualizations made by SOM_SHOW. These objects may be removed using % SOM_SHOW_CLEAR even if the object handles are not known. The function % removes the objects based on certain tags written to the 'Tag' property % field of the objects. % % If the function if called without input arguments it searches for % every object in the current figure that have string % 'Hit','Lab','Traj' or 'Comet' in their Tag property field and % deletes them. % % If input argument p is not specified, the function does not check that the % figure is created by function SOM_SHOW. % % OPTIONAL INPUT ARGUMENTS % % type (string) Which type of markers to delete % 'Hit' for removing hit marks % 'Lab' labels % 'Traj' line trajectories % 'Comet' comet trajectories % 'All' all (the default) % Strings are case insensitive. % % p (vector) Subplots from which the markers are removed % Specifies the subplots from which the markers are removed. % The valid values are 1...N where N is the number of subplots. % It is required that the figure has been created by % the SOM_SHOW function. % % EXAMPLES % % som_show_clear; % % deletes all labels, hit marks and trajectories in the figure % som_show_clear('hit'); % % deletes all the hit marks in the current figure % som_show_clear('lab',[1 2]); % % deletes labels in SOM_SHOW figure subplots 1 and 2. % % SEE ALSO % % som_show Basic map visualizations: component planes, u-matrix etc. % som_show_add Show hits, labels and trajectories on SOM_SHOW visualization. % Copyright (c) 1997-2000 by the SOM toolbox programming team. % http://www.cis.hut.fi/projects/somtoolbox/ % Version 1.0beta Johan 061197 % Version 2.0beta Johan 061099 juuso 181199 %%% Check number of arguments error(nargchk(0,2, nargin)) % check no. of input args is correct %%% Initialize & check & action %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% if nargin == 0 | isempty(type) | strcmp(type,'all') % delete everything % in the gcf delete(findobj(gcf,'Tag','Hit')); delete(findobj(gcf, 'Tag','Lab')); delete(findobj(gcf, 'Tag','Traj')); delete(findobj(gcf, 'Tag','Comet')); return end if nargin < 2 | isempty(p) % check handles handle=gcf; else % check subplot handles if p is given [handle,msg]=vis_som_show_data(p,gcf); if ~isempty(msg) error('2nd argument invalid or figure not made by SOM_SHOW: try SOM_SHOW_CLEAR without arguments.'); end end switch lower(type) % check type & make proper tag names case 'hit' tag = 'Hit'; case 'lab' tag = 'Lab'; case 'traj' tag = 'Traj'; case 'comet' tag = 'Comet'; otherwise error('Invalid object tag. Must be {lab | hit | traj | comet}'); end %%% Action %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% for i=1:length(handle), h=findobj(handle(i),'Tag',tag); % find object handles delete(h); % delete objects end %%% No output %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%