plot.m
上传用户:haiyisale
上传日期:2013-01-09
资源大小:3246k
文件大小:4k
源码类别:

波变换

开发平台:

Matlab

  1. function varargout = plot(t,varargin);
  2. %PLOT Plot DTREE object.
  3. %   PLOT(T) plots the DTREE object T.
  4. %   FIG = PLOT(T) returns the handle of the figure which,
  5. %   contains the tree T.
  6. %   PLOT(T,FIG) plots the tree T in the figure FIG which,
  7. %   already contains a tree.
  8. %
  9. %   PLOT is a graphical tree-management utility. The figure
  10. %   that contains the tree is a GUI tool. It lets you change
  11. %   the Node Label to Depth_Position or Index, and Node Action
  12. %   to Split-Merge or Visualize.
  13. %   The default values are Depth_Position and Visualize.
  14. %
  15. %   You can click the nodes to execute the current Node Action.
  16. %
  17. %   After some split or merge actions you can get the new tree
  18. %   using the handle of the figure, which contains this one.
  19. %   You must use the following special syntax:
  20. %       NEWT = PLOT(T,'read',FIG).
  21. %   In fact, the first argument is dummy. Then the most general
  22. %   syntax for this purpose is:
  23. %       NEWT = PLOT(DUMMY,'READ',FIG);
  24. %   where DUMMY is any object parented by an NTREE object.
  25. %
  26. %   DUMMY can be any object constructor name, which returns
  27. %   an object parented by an NTREE object. For example:
  28. %      NEWT = PLOT(ntree,'read',FIG);
  29. %      NEWT = PLOT(dtree,'read',FIG);
  30. %   M. Misiti, Y. Misiti, G. Oppenheim, J.M. Poggi 12-Mar-96.
  31. %   Last Revision: 13-Feb-2002.
  32. %   Copyright 1995-2002 The MathWorks, Inc.
  33. %   $Revision: 1.9 $  $Date: 2002/04/14 19:35:05 $
  34. nbin = length(varargin);
  35. fig_tree = NaN;
  36. switch nbin
  37.   case 0    , option = 'create';
  38.   otherwise
  39.     option = varargin{1};
  40.     if isnumeric(option)
  41.         fig_tree = option;
  42.         option = 'create';
  43.     end
  44. end
  45. switch option
  46.   case 'create'
  47.   case 'Visualize' , fig_tree = varargin{2};
  48. end
  49. switch option
  50.   case 'create'
  51.     fig_tree = plot(t.ntree,class(t),fig_tree);
  52.     if nargout>0 , varargout{1} = fig_tree; end
  53.     % Store the DTREE.
  54.     %-----------------
  55.     plot(ntree,'write',fig_tree,t);
  56.     % Add menus for node actions.
  57.     %----------------------------
  58.     plot(t,'addNodeAction',fig_tree,'Split-Merge');
  59.     plot(t,'addNodeAction',fig_tree,'Visualize');
  60.     plot(t,'setNodeAction',fig_tree,'Visualize');
  61.     % Add one axes.
  62.     %--------------
  63.     pos_axe_visu = [0.55 0.08 0.40 0.84];
  64.     axe_vis = axes(...
  65.                    'Parent',fig_tree,       ...
  66.                    'Visible','on',          ...
  67.                    'Units','normalized',    ...
  68.                    'Position',pos_axe_visu, ...
  69.                    'Box','On'               ...
  70.                    );
  71. wtitle('Node Action Result','Parent',axe_vis);
  72.     % Store the handle of new axes.
  73.     %------------------------------
  74.     plot(ntree,'storeValue',fig_tree,'axe_vis',axe_vis);
  75.   case 'Visualize'
  76.     node = plot(ntree,'getNode',fig_tree);
  77.     if isempty(node) , return; end
  78.     t = plot(ntree,'read',fig_tree);
  79.     axe_vis = plot(ntree,'getValue',fig_tree,'axe_vis');
  80.     %============================================================%
  81.     mousefrm(fig_tree,'watch')
  82.     [t,x] = nodejoin(t,node);
  83.     if ~isempty(x)
  84.         if min(size(x))<2
  85.             plot(x,'Color','r','parent',axe_vis);
  86.             lx = length(x);
  87.             if lx> 1 , set(axe_vis,'Xlim',[1,lx]); end
  88.         else
  89.            NBC = 128;
  90.            colormap(pink(NBC))
  91.            image(wcodemat(x,NBC,'mat',1),'parent',axe_vis);
  92.         end
  93.         endTitle = '.';
  94.     else
  95.         delete(get(axe_vis,'Children'))
  96.         endTitle = ' ==> NONE.';
  97.     end
  98.     lind = tlabels(t,'i',node);
  99.     ldep = tlabels(t,'p',node);
  100.     axeTitle = ['data for node: ' lind ' or ' ldep endTitle];
  101.     wtitle(axeTitle,'parent',axe_vis);
  102.     mousefrm(fig_tree,'arrow')
  103.     %============================================================%
  104.   otherwise
  105.     try
  106.       nbout = nargout;
  107.       varargout{1:nbout} = plot(ntree,varargin{:});
  108.     end
  109.     
  110. end