MATLAB axis和axes的区别
2016-04-19 22:42
316 查看
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')
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')
相关文章推荐
- Matlab&Simulink开发STM32F4
- matlab size、length和numel函数
- Matlab 的fspecial函数用法
- 在Isight软件里如何调用matlab子程序?
- Matlab中rand('state',sum(clock))解析
- matlab中 rand和 randn的区别
- matlab中repmat函数的用法
- matlab sumsqr函数 求矩阵的平方和
- matlab 实现 kernel SVD 高斯核
- matlab tensor toolbox 实现HOSVD(高阶奇异值分解)推荐系统
- 在MATLAB和OpenCV环境下写的灰度图像分段线性变换源码!
- 语音信号的端点检测的matlab代码(子带谱熵法法)
- Matlab之fopen、fprintf函数
- MATLAB--数据处理
- Matlab之size函数
- matlab求解常微分方程组/传染病模型并绘制SIR曲线
- Matlab标定工具箱使用的一些注意事项
- 把Matlab的Logo用Matlab画出来
- Python调用MatLab引擎
- matlab 曲线线型、颜色和标记点 和 legend