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

波变换

开发平台:

Matlab

  1. function out1 = txtinaxe(option,in2,in3,in4,in5,in6,in7)
  2. %TXTINAXE Right and left texts for axes.
  3. %   OUT1 = TXTINAXE(OPTION,IN2,IN3,IN4,IN5,IN6,IN7)
  4. %   M. Misiti, Y. Misiti, G. Oppenheim, J.M. Poggi 01-May-96.
  5. %   Last Revision: 01-May-1998.
  6. %   Copyright 1995-2002 The MathWorks, Inc.
  7. % $Revision: 1.11 $
  8. dlx = 42;
  9. drx = 28;
  10. if nargin==0 , option = 'create'; end
  11. opt = option(1);
  12. switch opt
  13.     case 'c'
  14.         %***********************%
  15.         %** OPTION = 'create' **%
  16.         %***********************%
  17.         if nargin<7
  18.             CurScrPixPerInch = get(0,'ScreenPixelsPerInch');
  19.             StdScrPixPerInch = 72;
  20.             RatScrPixPerInch = StdScrPixPerInch / CurScrPixPerInch;
  21.             fontsize         = floor(16*RatScrPixPerInch);
  22.         else
  23.             fontsize = in7;
  24.         end
  25.         if nargin<6, fonttype = 'bold'; else , fonttype = in6; end
  26.         if nargin<5, vis      = 'on';   else , vis      = in5; end
  27.         if nargin<4, side     = 'l';    else , side     = in4; end
  28.         if nargin<3, axe      = gca;    else , axe      = in3; end
  29.         if nargin<2, txt      = 'txt';  else , txt      = in2; end
  30.         old_units = get(axe,'Units');
  31.         set(axe,'Units','pixels');
  32.         pos_a = get(axe,'Position');
  33.         if side(1)=='l' , xtxt = -dlx; else , xtxt = pos_a(3)+drx; end
  34.         ytxt = pos_a(4)/2;
  35.         out1 = text(...
  36.                     'Parent',axe,                   ...
  37.                     'String',txt,                   ...
  38.                     'FontWeight',fonttype,          ...
  39.                     'FontSize',fontsize,            ...
  40.                     'Unit','pixels',                ...
  41.                     'Position',[xtxt ytxt],         ...
  42.                     'HorizontalAlignment','center', ...
  43.                     'Visible',vis                   ...
  44.                     );
  45.         set(axe,'Units',old_units);
  46.         set(out1,'Units','normalized');
  47.     case 'p'
  48.         %********************%
  49.         %** OPTION = 'pos' **%
  50.         %********************%
  51.         % in2 = hdl_txt;
  52.         %---------------
  53.         axe   = get(in2,'Parent');
  54.         pos_t = get(in2,'Position');
  55.         old_units = get(axe,'Units');
  56.         set(axe,'Units','pixels'); 
  57.         pos_a = get(axe,'Position');
  58.         if pos_t(1)<0 , xtxt = -dlx; else , xtxt = pos_a(3)+drx; end
  59.         set(in2,'Unit','pixels','Position',[xtxt pos_a(4)/2]);
  60.         set(axe,'Units',old_units);
  61.         set(in2,'Units','normalized');
  62. end