MATLAB axes
本帖由MATLAB技术论坛(http://www.matlabsky.com)原创,更多精彩内容参见http://www.matlabsky.com
axes ★★★★★
功能
创建坐标系图形对象
语法
axes
axes('PropertyName',propertyvalue,...)
axes(h)
h = axes(...)
描述
axes在当前窗口中创建一个包含默认属性坐标系
axes('PropertyName',propertyvalue,...)创建坐标系时,同时指定它的一些属性,没有指定的使用DefaultAxes**,当然可以在以后使用set/get函数进行设置/读取,坐标系axes所有属性参见附录
axes(h)将坐标系h置为当前坐标系,同时将figure中的CurrentAxes属性设置为h,并且将h排列到children属性中第一个axes位置。默认情况,所有图形函数都是在当前坐标系上绘图
h = axes(...)创建坐标系时返回它的句柄,方便以后操作
注意
当在执行绘图操作时,如果没有axes或figure,MATLAB会自动创建一个axes或figure
每次创建新axes时,所有的属性都会重置为DefaultAxes**;正常情况每次调用高级绘图命令时,会重置axes部分属性,比如ColorOrder、LineStyleOrder等
set(figure_handle,DefaultAxes**,Value)可以自定义axes的默认属性
axes是创建一个坐标系,而axis是对坐标系的简单控制,比如外形、比例等
创建时有三种方式直接指定属性,无先后顺序,不区分大小写,效果一致
(1)Name/Value配对形式
axes('Position',[0.2 0.2 0.6 0.6],'XGrid','on','XTickLabel',[])
(2)结构体形式
pp.Position=[0.2 0.2 0.6 0.6];
pp.XGrid='on';
pp.XTickLabel=[];
axes(pp)
(3)细胞元组形式
Name={'Position','XGrid','XTickLabel'};
Value={[0.2 0.2 0.6 0.6],'on',[]};
axes(Name,Value)
实例
% 先创建两个坐标系,过程中指定某些参数
h1=axes('Position',[0.1 0.2 0.3 0.6],'Unit','normalized','LineStyleOrder',':|--|-.|-');
h2=axes('Position',[0.6 0.2 0.3 0.6]);
% 将h1设置为当前坐标系,为绘图准备
axes(h1)
plot(rand(10,3)) % 即使创建h1时将线型顺序修改了,但由于每次调用plot会将LineStyleOrder重置为'-',故这里是看到的都是实线
5 将h2设置为当前坐标系
axes(h2)
[x,y,z]=peaks;
mesh(x,y,z)
set(h2,'Visible','off')
更多
axis, cla, clf, figure, gca, grid, subplot, title, xlabel, ylabel, zlabel, view