MATLAB二维底层绘图的修饰
> 对象和句柄
*似乎MATLAB也能满足面向对象编程的一些条件诶!
MATLAB也能实现GUI图形用户界面编程,同强大的C++、Java有一拼*
对象和句柄的概念
- MATLAB吧构成图形的各个基本要素成为图形对象,产生每一个图形对象时,MATLAB会自动分配一个唯一的值,用于表示这个对象,成为句柄(好像子对象和指向对象的指针)
对象间的基本关系
- 计算机屏幕->图形窗口->(用户菜单,用户控件,坐标轴)
- 坐标轴->(曲线,曲面,文字,图像,光源,区域,方框)
> 基本地城绘图函数
- line对象
h = line([-pi:0.01:pi],sin([-pi:0.01:pi]));
- 其中h成为line曲线对象的句柄。
- line对象的修饰
- color属性
- LineWidth属性
- LineStyle属性
- Marker属性
- MarkerSize属性
- plot函数能够产生line对象,然后继续对返回的句柄进行操作、或者直接在绘制过程进行修饰。
h1 = line('XData',[-pi:0.01:pi],'YData',sin([-pi:0.01:pi]),'LineWidth',1,'LineStyle',':','Color','r');
- set底层对象的属性设置函数
- 可以通过生成的句柄对MATLAB中生成的操作对象进行。使用set函数进行设定。
set(h1,'LineWidth',2,'Marker','p','MarkSize','15')
- line对象常见的性质XData,YData,ZData,Color(y,m,c,r,g,b,w,k),DisplayName(legend ()),LineStyle(-,–,:,-.,none),LineWidth,Marker(+,o,*,.,X,s,d,’^’,V,>,<,p,h,none)。MarkerEdgeColor,MarkerFaceColor,MarkerSize,Type。
- 可以通过生成的句柄对MATLAB中生成的操作对象进行。使用set函数进行设定。
- text对象,底层标注函数
- text是一个line的子对象,可以使用text函数进行操作。
- ht = text(0,4,’string’)
- text对象相关的属性:Color,FontSize,String,Rotation。
- axes对象,底层坐标轴函数
- axes是一个line/figure的对象,可以使用axes()函数进行操作
hf = figure;
ha = axes('Parent',hf,'Position','Units','Pixels',[10,10,10,100]);- 常见属性:Box,GridLineStyle,Position,Units,XLabel,Ylabel,ZLabel,Xlim,Ylim,Zlim相关属性。
补充一点对MATLAB的认识:
MATLAB是矩阵实验室(Matrix Laboratory)之意。其主要提供了以下几种功能
1. 数值计算
2. 符号计算
3. 文字处理
4. 可视化建模仿真(图形功能强大)
5. 实时控制等功能(自动控制理论应用)
MATLAB除了内部函数主包,还有三十多种工具包,用于不同领域,不同需求的功能拓展。