Fork me on GitHub

MATLAB axis和axes的区别

axis中文为“轴”之意,在matlab中用于控制坐标轴的范围和样式(颜色等)。

axis([XMIN XMAX YMIN YMAX]) 设置当前所绘图像的x轴和y轴的范围。
axis([XMIN XMAX YMIN YMAX ZMIN ZMAX]) 设置当前所绘图像的x轴、y轴和z轴的范围。

例子:

>> x = [1,2,3,4,5];
>> y = [2,3,4,5,6];
>> plot(x,y,'o')

>> axis([0,5,0,6]);  %axis要放在plot之后

得到图像

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')

posted @ 2016-04-19 22:42  stardsd  阅读(2649)  评论(0编辑  收藏  举报