www.pudn.com > 精通Matlab综合辅导与指南-源程序.zip > mmaxes.m
function mmaxes(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10)
%MMAXES Set Axes Properties Using Mouse.
% MMAXES waits for a mouse click on an axes then
% applies the desired properties to the selected axes.
% Properties are given in pairs, e.g. MMAXES name value ...
% Properties:
% NAME VALUE {default}
% box [{on} off] for axes bounding box
% color [y m c r g b {w} k] or an rgb in quotes: '[r g b]'
% width [points] for axes linewidth {0.5}
% tdir [{in} out] for tick direction
% xtick [off {on}] to hide X-axis labels, nonreversible
% xdir [{norm} rev] for X-axis direction (norm)
% xgrid [on {off}] for X-axis grid
% xscale [{lin} log] for X-axis scaling
% zap (n.a.) to delete axes and plot contents
%
% xtick, xdir, xgrid, xscale have y and z axis counterparts:
% ytick, ydir, ygrid, yscale
% ztick, zdir, zgrid, zscale
% Examples:
% MMAXES box off ygrid on turns box off and y-axis grid on
% MMAXES tdir out zscale log sets tick direction out and z-axis to log
% MMAXES color '[1 .5 0]' sets color to orange
%
% Clicking on an object other than an axes, or striking
% a key on the keyboard aborts the command.
% D.C. Hanselman, University of Maine, Orono, ME, 04469
% 4/27/95
% Copyright (c) 1996 by Prentice-Hall, Inc.
Hf=mmgcf;
if isempty(Hf), error('No Figure Available.'), end
if length(get(0,'Children'))==1
figure(Hf) % bring only figure forward
end
key=waitforbuttonpress;
if key % key on keyboard pressed
return
else % object selected
Ha=gco;
if strcmp(get(Ha,'Type'),'axes') % axes object selected
for i=1:2:max(nargin-1,1)
name=eval(sprintf('arg%.0f',i),[]); % get name argument
if strcmp(name,'zap')
delete(Ha),return
end
value=eval(sprintf('arg%.0f',i+1),[]); % get value argument
if strcmp(name,'box')
set(Ha,'Box',value)
elseif strcmp(name,'color')
if value(1)=='[',value=eval(value);end
set(Ha,'XColor',value,'Ycolor',value,'ZColor',value)
elseif strcmp(name,'width')
set(Ha,'Linewidth',abs(eval(value)))
elseif strcmp(name,'tdir')
set(Ha,'TickDir',value)
elseif strcmp(name,'xtick')&strcmp(value,'off')
set(Ha,'Xtick',[])
elseif strcmp(name,'xdir')
set(Ha,'XDir',value)
elseif strcmp(name,'xgrid')
set(Ha,'XGrid',value)
elseif strcmp(name,'xscale')
set(Ha,'XScale',value)
elseif strcmp(name,'ytick')&strcmp(value,'off')
set(Ha,'Ytick',[])
elseif strcmp(name,'ydir')
set(Ha,'YDir',value)
elseif strcmp(name,'ygrid')
set(Ha,'YGrid',value)
elseif strcmp(name,'yscale')
set(Ha,'YScale',value)
elseif strcmp(name,'zdir')
set(Ha,'ZDir',value)
elseif strcmp(name,'zgrid')
set(Ha,'ZGrid',value)
elseif strcmp(name,'zscale')
set(Ha,'ZScale',value)
elseif strcmp(name,'ztick')&strcmp(value,'off')
set(Ha,'Ztick',[])
else
disp(['Unknown Property Name: ' name])
end
end
end
end