购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.1 MATLAB二维图形绘制

二维图形绘制是图形绘制中最常用的,它常应用于显示两组数据之间的关系。二维图形绘制是复杂图形绘制的基础,包括绘制普通二维图形和特殊二维图形,如直方图、阶梯图、圆饼图、罗盘图、极坐标图等。

2.1.1 plot——绘制二维平面图

【功能】 绘制线性二维图。当线条多于一条时,若用户没有指定线条的颜色,则 plot循环使用由当前坐标轴颜色顺序属性定义的颜色,以区别不同的线条。

【语法介绍】

·plot(X,Y) 绘制Y对于X(即以X为横轴)的二维图形。当X、Y均为实数同维向量时,则plot(X,Y)描出点(X(i),Y(i)),然后用直线依次相连;当X、Y均为复数向量时,不考虑虚数部分。若X或Y是一个矩阵时,则该矩阵的行或列的向量将被绘制。

·plot(Y) 绘制对Y索引(Y的数据点数)的图形。若Y为实数向量,维数为n,则plot(Y)等价于plot(1:n,Y);若Y为复数向量,则plot(Y)等价于plot(real(Y),imag(Y)),其中,real(Y)和imag(Y)分别代表向量Y的实部向量和虚部向量;若Y为实数矩阵,行数为n,则plot(Y)等价于plot(1:n,Y)。

·plot(X,Y,S) 绘制字符串参量S指定的类型、样式和颜色的线条。字符串参量S的取值参见表2.1。其他参量及意义同上。

表2.1 plot(Y,S)绘图线条的颜色、样式、类型

·plot(X1,Y1,X2,Y2,…) 在同一幅图上绘制多条曲线,Xi与Yi成对出现,每一条曲线分别由(Xi,Yi)定义。

·plot(…,'propertyname','propertyvalue',…) 绘制二维平面图,并设置图形中线性对象属性propertyname的值为propertyvalue。字符串参量propertyname取值为LineWidth(线的宽度,其值为标量)、MarkerEdgeColor(标记点符号颜色,其值参见表 2.1)、MarkerFaceColor(标记点符号填充颜色,其值参见表2.1)、MarkerSize(标记点符号大小,其值为标量)。

·plot(axes_handle,___) 在句柄axes_handle指定的坐标轴中绘制二维平面图。

·h= plot(___) 绘制二维平面图,并返回向量格式的线图句柄。

【实例1】 绘制正弦曲线,曲线设置为红色,并且添加网格。

图2.1 绘制正弦曲线并添加网格

【实例2】 绘制正弦曲线簇,并且返回曲线句柄。

>> %创建正弦曲线簇

图2.2 绘制正弦曲线簇并返回曲线句柄

【实例3】 绘制曲线,并且指定曲线的图形属性。

图2.3 绘制曲线,并且指定曲线的图形属性

【实例4】 绘制正弦曲线,并且指定x轴和y轴的标注。

图2.4 绘制正弦曲线,并且指定x轴和y轴的标注

【实例5】 绘制正弦曲线,并且添加标题、曲线说明等标注。

图2.5 绘制正弦曲线,并且添加标题、曲线说明等标注

2.1.2 figure——创建图形窗口

【功能】 创建新的图形对象,在屏幕上单独显示的窗口,且窗口中可以输出图形。

【语法介绍】

·figure 创建一个图形窗口并返回它的句柄。

·figure(H) 创建一个句柄为H的图形窗口。若句柄为H的窗口已存在,则使其成为当前窗口,位于所有窗口最上端,并处于可使用状态。

·figure('PropertyName',propertyvalue,...) 创建一个指定属性的图形窗口。参量PropertyName和propertyvalue分别表示它的属性名和属性值。PropertyName可取值为:’Name’(指定该窗口的标题,对应的propertyvalue为一字符串)、’Position’(指定窗口的大小和位置,对应的propertyvalue为一四元数组,第1、2个数表示窗口起点距屏幕左边和下边的距离,第3、4个数表示窗口的宽度和高度)。

·h=figure(...) 返回图形对象的句柄给h。

【实例1】 创建一个图形窗口,并且返回图形句柄。

图2.6 创建图形窗口,并且返回图形句柄

【实例2】 创建一个图形窗口,并且设置窗口的位置和大小。

图2.7 创建一个图形窗口,并且设置窗口的位置和大小

2.1.3 subplot——分区绘图

【功能】 将当前图形窗口分为m×n个绘图区,即每行n个,共m行,区号按行优先编号,且选定第p个区为当前活动区。

【语法介绍】

·subplot(m,n,p)或subplot(mnp) 将当前窗口划分成m×n个小窗口,并选择第p个小窗口为当前绘图窗口。其中,小窗口的计数顺序是沿着顶部的行由左向右进行,然后再到下一行。

·subplot(m,n,p,'replace') 删除当前存在的第p个小窗口中的图形,并创建新的绘图窗口。

·subplot(m,n,p,'align') 指定当前存在的第p个小窗口为绘图窗口。

·subplot('posotion',[left bottom width height]) 在指定位置上创建一个窗口。向量参量[left bottom width height]表示窗口的具体位置和大小,其中,[left bottom]指定窗口左下端点的坐标,width和height指定窗口的宽度和高度。若subplot欲创建的小窗口已存在,则删除已存在的小窗口并重新建立新的小窗口。

·h= subplot( ) 返回坐标轴句柄h。

【实例1】 在同一图形窗口中分区绘制Income曲线(上方)和Outgo曲线(下方),如图2.8所示。

图2.8 在同一个图形窗口中分区绘图

【实例2】 在多个窗口绘制一个图形。

图2.9 在多个窗口绘制一个图形

【实例3】 在多个窗口绘制一个图形,注意当指定的窗口不连通时的处理。

图2.10 在多个窗口且窗口不连通时绘制一个图形

【实例4】 当在一个图形窗口分区显示很多图形时,默认显示的坐标轴刻度就会发生阻塞或导致崩溃。

解决的方法:一是增大图形窗口,给坐标轴刻度的显示创建足够的空间;二是消除x轴刻度和y轴刻度,只对一条轴进行刻度显示,如实例5。

图2.11 一个窗口分区显示很多图像时,默认显示的坐标轴出现崩溃

【实例5】 消除x轴刻度和y轴刻度,只对一条轴进行刻度显示。

图2.12 一个窗口分区显示很多图像时,只对一条轴进行刻度显示

2.1.4 set——设置图像属性

【功能】 修改和设定句柄图形对象。

【语法介绍】

·set(H,'PropertyName',PropertyValue) 设置句柄为H的图形对象指定属性 PropertyName的值PropertyValue。

·set(H,a) 设置句柄为H的图形对象的属性值。参量a是一个包含指定对象属性名及属性值的结构。

·set(H,pn,pv) 对多个图像对象指定多个属性值。参量H为包含多个图像对象句柄的向量。pn表示所要设置的n个元素属性名向量。pv表示多个图像对象n个属性对应的属性值,是一个length(H) ×n矩阵,其中,length(H)表示向量H的长度。

·set(H,'PropertyName1',PropertyValue1,'PropertyName2',PropertyValue2,…) 设置句柄为H的图形对象的多个属性 PropertyName1,PropertyName2,…的对应属性值PropertyValue1,PropertyValue2,…。

·A=set(H,'PropertyName')或set(H,'PropertyName') 返回句柄为H的图形对象的指定属性PropertyName的值给A。如果该属性没有设置属性值,则A为一个空向量。

·A=set(H)或set(H) 返回句柄为H的图形对象的所有属性和属性值给变量A。

【实例1】 创建图形窗口,返回属性设置,将窗口颜色改为蓝色。

图2.13 创建图形窗口并进行颜色设置

【实例2】 绘制peaks函数,将所有曲线变为黑色。

图2.14 绘制peaks函数,改变曲线颜色

2.1.5 axis——设置坐标轴

【功能】 对坐标轴进行标定。

【语法介绍】

·axis([xmin xmax ymin ymax]) 对当前二维图形对象的x与y轴进行标定。向量参量[xmin xmax ymin ymax]中的元素分别表示x轴最小值、x轴最大值、y轴最小值和y轴最大值。

·axis([xmin xmax ymin ymax zmin zmax cmin cmax]) 对当前三维图形对象的x、y与z轴和颜色坐标轴进行标定。向量参量[xmin xmax ymin ymax zmin zmax cmin cmax]中的元素分别表示x轴最小值、x轴最大值、y轴最小值、y轴最大值、z轴最小值、z轴最大值、颜色轴最小值和颜色轴最大值。

·v=axis 返回当前坐标轴的标定属性。v是一个行向量,其元素表示x轴和y轴和z 轴(三维时)的最大值、最小值。如果当前图形对象是二维图形,则 v为四元素向量;如果当前图形对象是三维图形,则v为六元素向量。

·axis auto 根据待绘图数据x、y、z的最大值、最小值自动标定坐标轴。

·axis manual或axis(axis) 锁定当前坐标轴的标定。如果在同一图形窗口绘制图像,则坐标轴标定不会改变。

·axis tight 设置坐标轴的最大值、最小值为数据的范围。

·axis ij 将坐标系统的原点设置在左上角,即纵轴从上到下依次增加,横轴从左到右依次增加。

·axis xy 将坐标系统的原点设置为默认的方式,即原点设置在左下角,纵轴从下到上依次增加,横轴从左到右依次增加。

·axis equal 坐标轴的单位长度相同。

·axis image 同axis equal,只是绘图区域与数据一致。

·axis square 图框呈方形。

·axis off 清除坐标刻度。

·axis on 显示坐标刻度。

·axis(axes_handles,...) 应用坐标轴标定到句柄为axes_handles的轴。

·[mode,visibility,direction]=axis('state') 返回当前坐标轴的指定属性的值。字符串参量state取值可参见表2.2。

表2.2 坐标轴属性表

【实例1】 绘制正切曲线,改变坐标轴的标定。

【实例2】 分区绘制图形,并且将两个图形的坐标轴都设置为方形。

图2.15 绘制正切曲线

图2.16 改变图2.15正切曲线坐标轴的标定

图2.17 分区绘制图形并将两个图形的坐标轴都设置为方形

【实例3】 锁定坐标轴的用法。

图2.18 锁定坐标轴

图2.19 自动锁定坐标轴

2.1.6 xlabel/ylabel/zlabel——添加坐标轴标注

【功能】 添加坐标轴标注。

【语法介绍】

·xlabel('string') 给当前坐标轴的x轴增加文本标注string,参量string为字符串。

·xlabel(...,'PropertyName',PropertyValue,...) 设置当前坐标轴的 x轴文本标注的属性PropertyName的值PropertyValue。

·xlabel(axes_handle,...),ylabel(axes_handle,...)和 zlabel(axes_handle,...) 给句柄为axes_handle的轴进行标注。

·h=xlabel/ylabel/zlabel (...) 返回轴上用作标注的文本对象的句柄给h。

【实例1】 给x轴标注。

图2.18 给x轴添加标注

【实例2】 给y轴标注,并且设置标注属性。

图2.19 给y轴标注并设置标注属性

2.1.7 title——添加图名

【功能】 为图形添加图名。

【语法介绍】

·title('text') 在当前坐标轴上方正中央处放置字符串text作为图名。

·title(fname) 先执行能返回字符串的函数fname,然后在当前轴上方正中央处放置返回的字符串作为图名。

·title('text','Property1',PropertyValue1,'Property2',PropertyValue2,…) 在当前坐标轴上方正中央处放置字符串 text作为图名,并设置 text图形对象的属性Property1,Property2,…对应的属性值为PropertyValue1,PropertyValue2,…。

·title(axes_handle,...) 给句柄为axes_handle的轴添加图名。

·H=title(…) 返回作为图名的对象的句柄给变量H。

【实例1】 给当前轴添加日期。

【实例2】 在标题中包含变量。

图2.22 给当前轴添加日期

图2.23 添加的标题中包含变量

【实例3】 在标题中包含多层标题。

>> title({'First line';'Second line'}) %添加多层标题至图顶端,如图2.24所示

图2.24 添加的标题中包含多层标题

2.1.8 legend——添加图例

【功能】 给曲线和图形添加图例,用户可以通过移动鼠标,将图例放置在所需位置。

【语法介绍】

·legend('string1','string2',...) 在当前图形窗口中添加图例。字符串参量string1,string2,…表示图例标签。

·legend(h,'string1','string2',...) 在句柄向量为h的多个图形中分别加入图例,并以给定的字符串string1,string2,…作为图例标签。

·legend(M) 在当前图形窗口中添加图例,图例标签由矩阵或细胞矩阵M指定。

·legend(h,M) 在句柄向量为h的多个图形中加入图例,图例标签由矩阵或细胞矩阵M指定。

·legend(M,'parameter_name','parameter_value',...) 在当前图形窗口中添加图例,图例标签由矩阵或细胞矩阵 M 指定,并且设置图例的属性 parameter_name的值parameter_value。

·legend(h,M,'parameter_name','parameter_value',...) 在句柄向量为h的多个图形中加入图例,图例标签由M矩阵或细胞矩阵指定,并且设置图例的属性parameter_name的值parameter_value。

·legend(axes_handle,...) 在句柄为axes_handle的轴上添加图例。

·legend('off') 撤销当前图形窗口中的图例。

·legend(axes_handle,'off') 撤销句柄为axes_handle的轴上的图例。

·legend('toggle') 给当前轴设置图例开或关,如果当前轴没有图例,则使用默认的字符串创建图例。

·legend(axes_handle,'toggle') 在句柄为axes_handle的轴上设置图例开或关,如果当前轴没有图例,则使用默认的字符串创建图例。

·legend('hide') 隐藏当前轴的图例。

·legend(axes_handle,'hide') 隐藏句柄为axes_handle的轴的图例。

·legend('show') 显示当前轴的图例。

·legend(axes_handle,'show') 显示句柄为axes_handle的轴的图例。

·legend('boxoff') 去除当前轴的图例的边框。

·legend(axes_handle,'boxoff') 去除句柄为axes_handle的轴的图例的边框。

·legend('boxon') 给当前轴的图例添加边框。

·legend(axes_handle,'boxon') 给句柄为axes_handle的轴的图例添加边框。

·legend_handle=legend(...) 返回当前轴的图例句柄,如果当前轴没有图例,则返回空矩阵。

·legend 更新当前图形窗口的所有图例。

·legend(legend_handle) 更新句柄为axes_handle的轴的图例。

·legend(...,'Location',location) 设置图例在轴上的位置。参量location为四元向量向量[left bottom width height],或者是位置字符串中的一个,具体意义参见表2.3。

表2.3 位置字符串表

【实例1】 给正弦曲线和余弦曲线添加图例。

图2.25 添加图例

【实例2】 给正弦曲线和余弦曲线添加图例,图例字符串由M给出。

图2.26 添加由指定字符串给出的图例

【实例3】 添加图例并返回句柄,去除图例的边框。

图2.27 添加图例并返回句柄

图2.28 去除图例的边框

【实例4】 添加图例,改变图例的位置。

图2.29 添加图例

图2.30 改变图2.29图例的位置

2.1.9 hold——图形保持

【功能】 使用hold函数后,在已存在图形窗口中使用plot函数继续添加新的图形内容。使用hold on后,再执行plot函数,在保持原有图形或曲线的基础上,添加新绘制的图形。

【语法介绍】

·hold on 保留当前图形与当前坐标轴的属性值,后面的图形命令只能在当前存在的坐标轴或图形中执行。

·hold off 删除前面的图形,返回到默认状态,在画新图形之前,重新设置坐标轴的属性为默认值。

·hold all 保留当前图形与当前坐标轴的所有属性值,包括曲线的颜色和类型,后面的图形命令只能在当前存在的坐标轴中增加图形。

·hold 在hold on和hold off之间切换。

·hold(axes_handle,...) 使hold对句柄为axes_handle的轴起作用。

【实例】 绘制正弦曲线,应用hold绘制余弦曲线。

2.1.10 ginput——获取指定点坐标值

【功能】 使用鼠标获取指定点的坐标值。

图2.31 使用hold on函数绘制的曲线图

图2.32 继续使用hold off函数绘制的曲线图

【语法介绍】

·[x,y]=ginput(n) 用鼠标在当前的坐标图上选择n个点,通过鼠标或键盘获取这n个点的相应坐标向量x和y。用户可以在输入n个点之前单击“回车键”终止输入。

·[x,y]=ginput 用鼠标在当前的坐标图上选择任意个点,通过鼠标或键盘获取这些点的相应坐标向量x和y。

·[x,y,button]=ginput(n) 用鼠标在当前的坐标系上选择n个点,通过鼠标或键盘获取这n个点的相应坐标向量x,y和标示向量button。其中,button值分别表示用户单击的鼠标键值(鼠标左、中、右键分别为数值1,2,3),或用户在键盘上单击的键值,即ASCII码值。

【实例】 从坐标图上选择5个点。

图2.33 从坐标图上选择5个点

2.1.11 semilogx/semilogy——设置x/y轴单对数坐标轴

【功能】 绘制 x或 y轴的对数图形。若没有指定使用的颜色,当所画线条较多时,semilogx/semilogy将自动使用由当前轴的ColorOrder和LineStyleOrder属性指定的颜色顺序和线型顺序来画线。

【语法介绍】 对x轴使用对数刻度(以10为底),y轴使用线性刻度,再进行plot函数绘图。此时功能相当于2.1.1节的plot函数。

·semilogx(Y)

·semilogx(X1,Y1,X2,Y2,…)

·semilogx(X1,Y1,LineSpec1X2,Y2,LineSpec2,…)

·semilogx(…,'PropertyName',PropertyValue,…)

·h=semilogx(...)

【实例1】 设置y轴为单对数坐标轴。

【实例2】 设置y轴为单对数坐标轴,绘制指数曲线簇。

图2.34 绘制余弦曲线

图2.35 设置y轴为单对数坐标轴

图2.36 正常坐标下绘制指数曲线簇

图2.37 设置y轴为单对数坐标轴,绘制图2.36指数曲线簇

2.1.12 loglog——设置双对数坐标

【功能】 设置双对数坐标。

【语法介绍】 对x和y轴都使用对数刻度(以10为底),再进行plot函数绘图。此时功能相当于2.1.1节plot函数。

·loglog(Y)

·loglog (X1,Y1,X2,Y2,…)

·loglog (X1,Y1,LineSpec1,X2,Y2,LineSpec2,…)

·loglog (…,'PropertyName',PropertyValue,…)

h=loglog (... )【实例】 设置双对数坐标。

图2.38 设置双对数坐标并添加网络

2.1.13 fill——图形填充

【功能】 用颜色填充二维多边形。

【语法介绍】

·fill(X,Y,ColorSpec) 使用参量ColorSpec指定的颜色填充由向量X和Y定义的多边形。参量ColorSpec可为RGB向量、字符或字符串,取值参见表2.4。

·fill(X1,Y1,ColorSpec1,X2,Y2,ColorSpec2,…) 使用参量 ColorSpec1、ColorSpec2,…指定的颜色分别填充的多个二维区域 (X1,Y1),(X2,Y2),…。

·fill(…,'PropertyName',PropertyValue) 对填充图形对象的属性PropertyName设定属性值PropertyValue。PropertyName和PropertyValue的取值参见表1.5。

·h=fill(…) 返回填充图形对象的句柄给向量h,其中,每一个填充对象对应一个句柄。

表2.4 ColorSpec参数表

【实例】 创建一个红色的多边形。

图2.39 创建一个红色的多边形

2.1.14 bar/barh——条形图

【功能】 绘制二维垂直/水平条形图。用垂直/水平条形显示向量或矩阵中的值。

【语法介绍】

·bar(X,Y) 在指定的横坐标X上画出条形图,其中X为严格单增的向量。若Y为矩阵,则bar函数把Y中的各个行向量在指定的横坐标X处分别画出条形图。

·bar(Y) 等价于bar(1:M,Y),其中,M值为向量Y的元素个数或矩阵Y的列数。

·bar(X,Y,width)或bar(Y,width) 绘制由条形相对宽度为width和控制在一组内条形间距的条形图。width的默认值为0.8。

·bar(…,'style') 绘制由参量 style指定条形排列类型的条形图。参量 style取值为grouped(组式,默认显示模式)和stacked(制堆式)。

·bar(…,LineSpec) 使用指定的颜色LineSpec显示所有的条形。LineSpec取值参见表2.1。

·bar(axes_handle,___) 在句柄为axes_handle的轴上绘制条形图。其他参量及结果同上。

·h=bar(…) 返回条形图形对象的句柄给向量h,其中,每一个条形对象对应一个句柄。

【实例1】 绘制二维条形图。

图2.40 绘制二维条形图

【实例2】 以不同模式显示条形图。

图2.41 以不同模式显示条形图

【实例3】 改变条形图表颜色。

图2.42 改变条形图表颜色

2.1.15 pie——圆饼图

【功能】 画饼形图。

【语法介绍】

·pie(X) 绘制矩阵X中非负数据的饼形图。若X中非负元素和小于1,则pie仅画出部分的饼形图,且非负元素X(i,j)的值直接限定饼形图中扇形的大小;若X中非负元素和大于或等于1,则非负元素X(i,j)代表饼形图中的扇形大小通过X(i,j)/Y的大小来决定,其中,Y为矩阵X中非负元素和。

·pie(X,EXPLODE) 绘制由参量EXPLODE指定拉出扇形的饼形图。参量EXPLODE与X维数相同,EXPLODE中非零元素对应X中元素的扇形块将被拉出。

·pie(axes_handle,...) 在句柄为axes_handle的轴上绘制圆饼图。其他参量及结果同上。

·pie(...,labels) 在图上添加文本图例labels,图例的数量要等于元素的个数。

·h=pie(…) 返回图形对象的句柄给向量h。

【实例】 绘制圆饼图。

图2.43 绘制圆饼图

2.1.16 stairs——阶梯图

【功能】 画二维阶梯图,这种图对与时间有关的数字样本系统的作图很有用处。

【语法介绍】

·stairs(Y) 绘制向量Y中元素的阶梯图。

·stairs(X,Y) 绘制在指定位置X上向量Y中元素的阶梯图。X为向量,其值必须是单调增大且均匀分布的。

·stairs(…,LineSpec) 绘制由参数 LineSpec指定的线型、标记符号和颜色的阶梯图。参量LineSpec的取值参见表2.1。

·[XX,YY]=stairs(X,Y) 返回可以用plot函数画出向量X,Y的阶梯图的向量XX与YY。注意,该命令不画阶梯图。

·stairs(axes_handle,...) 在句柄为axes_handle的轴上绘制阶梯图。

·H=stairs(X,Y) 绘制在指定位置X上向量Y中元素的阶梯图,并返回线条的句柄给向量H。

【实例】 绘制阶梯图。

图2.44 绘制阶梯图

2.1.17 hist——直方图

【功能】 二维条形直方图,可显示数据的分配情形。向量y或矩阵Y中的列向量中的元素根据它们的数值范围分组的,每一组作为一个条形进行显示。条形直方图中的x轴反映数据Y中元素数值的范围,y轴显示出参量Y中的元素落入该组的数目。

【语法介绍】

·N=hist(Y) 把向量Y中的元素分给等距分布的10个条形中,且返回每一个条形中的元素个数给向量N。

·N=hist(Y,M) 把向量Y中的元素分给等距分布的M个条形中,且返回每一个条形中的元素个数给向量N。

·N=hist(Y,X) 把向量Y中元素分到由向量X中元素指定中心位置的条形中,且返回每一个条形中的元素个数给向量N。

·[N,xout]=hist(…) 返回块中心的位置给向量xout。

·hist(axes_handle,...) 在句柄为axes_handle的轴上绘制直方图。

·hist(…) 绘制直方图,没有输出。

【实例】 绘制直方图,改变直方图的颜色。

图2.45 绘制直方图并改变颜色

2.1.18 rose——角度直方图

【功能】 绘制角度直方图。该直方图是一个显示所给数据变化范围内数据的分布情形的极坐标图,所给数据分成不同的组。每一组作为一小扇形进行显示。

【语法介绍】

·rose(THETA) 绘制角向量为THETA的直方图,其中THETA中的角度用弧度作单位。

·rose(THETA,N) 使用标量参量N来均匀地划分0到2π,并绘制角向量为THETA的直方图。默认的N为20。

·rose(THETA,X) 使用向量参量X所确定的分块来绘制角向量为THETA的直方图。其中,向量X的长度表示扇形个数,X中的元素表示每个扇形的中线角度。

·rose(axes_handle,...) 在句柄为axes_handle的轴上绘制角度直方图。

·[T,R]=rose(…) 返回两个向量T与R,用于函数polar(T,R)画出极坐标图形。注意,该命令没有画任何图形。

·H=rose(…) 返回句柄向量H。

【实例】 绘制角度直方图。

2.1.19 stem——离散序列数据杆状图

【功能】 画二维离散数据杆状图。该图用线条显示数据点与x轴的距离,一小圆圈(默认标记)或用指定的其他标记符号与线条相连,在y轴上标记数据点的值。

图2.46 绘制角度直方图

【语法介绍】

·stem(Y) 绘制向量Y的离散序列数据杆状图。

·stem(X,Y) 在横坐标X上画出列向量Y的数据杆状图。

·stem(…,'fill') 以填充图的方式来绘制序列数据杆状图。

·stem(…,LineSpec) 绘制由参量LineSpec指定线型、标记符号和柄图末端小圆圈颜色的数据杆状图。参量LineSpec的取值参见表2.1。

·stem(axes_handle,...) 在句柄为axes_handle的轴上绘制离散序列数据杆状图。

·H=stem(…) 返回柄形图的图形对象的句柄给向量H。

【实例1】 绘制离散序列数据杆状图,设置基准线的线型和圆圈的颜色。

【实例2】 在同一个图形窗口中绘制两组数据杆状图。

set(h(2),'MarkerFaceColor','red','Marker','square') %红色正方形杆状图

图2.47 绘制离散序列数据杆状图

图2.48 在同一个图形窗口中绘制两组数据杆状图

2.1.20 errorbar——误差棒形图

【功能】 沿着一曲线绘制误差棒形图。误差棒为数据的置信水平或者为沿着曲线的偏差。

【语法介绍】

·errorbar(Y,E) 绘制向量Y,同时显示Y中每个元素的误差棒。对应Y(i)的误差棒的长度为2*E(i)。

·errorbar(X,Y,L,U) 绘制误差棒形图。参量X,Y,L,U必须为同型向量或矩阵。若同为向量,则在点(X(i),Y(i))处画出向下长为L(i),向上长为U(i)的误差棒;若同为矩阵,则在点(X(i,j),Y(i,j))处画出向下长为L(i,j),向上长为U(i,j)的误差棒。

·errorbar(X,Y,E) 等价于errorbar(X,Y,E,E)。

·errorbar(…,LineSpec) 绘制由LineSpec指定的线型、标记符、颜色的误差棒形图。参量LineSpec的取值参见表2.1。

·H=errorbar(…) 返回线图形对象的句柄给向量H。

【实例】 绘制误差棒形图。

2.1.21 compass——罗盘图

【功能】 从原点画箭头图。箭头图为一显示起点为笛卡儿坐标系中的原点的二维或三维方向或向量的图形,同时在坐标系中显示圆形的分隔线。

图2.49 绘制误差棒形图

【语法介绍】

·compass(X,Y) 绘制一个从原点出发、由(X(i),Y(i))组成的向量箭头图形。

·compass(Z) 等价于compass(REAL(Z),IMAG(Z)),其中,REAL(Z)和IMAG(Z)分别表示向量Z的实部向量和虚部向量。

·compass(…,LineSpec) 绘制由参量LineSpec指定箭头图的线型、标记符号、颜色属性的罗盘图。参量LineSpec的取值参见表2.1。

·compass(axes_handle,...) 在句柄为axes_handle的轴上绘制罗盘图。

·H=compass(…) 返回线对象的句柄给H。

【实例】 绘制罗盘图。

图2.50 绘制罗盘图

2.1.22 feather——羽毛图(速度向量图)

【功能】 绘制速度向量图,在横坐标上等距地显示指定向量。

【语法介绍】

·feather(U,V) 绘制由向量参量U与V构成的速度向量(U(i),V(i))的羽毛图。

·feather(Z) 等价于feather(REAL(Z),IMAG(Z)),其中,REAL(Z)和IMAG(Z)分别表示向量Z的实部向量和虚部向量。

·feather(…,LineSpec) 绘制由参量LineSpec指定箭头图的线型、标记符号、颜色属性的羽毛图。参量LineSpec的取值参见表2.1。

·feather(axes_handle,...) 在句柄为axes_handle的轴上绘制羽毛图。

·H=feather (…) 返回羽毛图中线型对象的句柄给H。

【实例】 绘制羽毛图。

图2.51 绘制羽毛图

2.1.23 polar——极坐标图

【功能】 绘制极坐标图。该命令接受极坐标形式的函数rho=f(θ),在笛卡儿坐标系平面上画出该函数,且在平面上画出极坐标形式的格栅。

【语法介绍】

·polar(THETA,RHO) 绘制指定极角和极径的极坐标图形。参量THETA表从x轴到半径的单位为弧度的极角向量,RHO表示各数据点到极点的极径向量。

·polar(THETA,RHO,LineSpec) 绘制由参量LineSpec指定线条的线型、标记符号和颜色的极坐标图形。参量LineSpec的取值参见表2.1。

·polar(axes_handle,...) 在句柄为axes_handle的轴上绘制极坐标图。

·h=polar(...) 返回极坐标图中线型对象的句柄给h。

【实例】 绘制极坐标图。

图2.52 绘制极坐标图

2.1.24 zoom——图形缩放

【功能】 对二维图形进行放大或缩小。放大或缩小会改变坐标轴范围。

【语法介绍】

·zoom 确定缩放的状态。

·zoom ON 对当前的图形进行缩放。

·zoom OFF 关闭交互式缩放功能。

·zoom OUT 将图形返回至初始状态。

·zoom RESET 清除放大点。

·zoom XON 只对x轴进行放大。

·zoom YON 只对y轴进行放大。

·zoom(FACTOR) 对当前图形进行factor倍的放大或缩小,而不影响交互式放大的状态。若factor>1,系统将图形放大factor倍;若0<factor≤1,系统将图形放大1/factor倍。

·zoom(FIG,…) 对句柄为FIG的二维图形进行放大。

·h=zoom(figure_handle) 返回句柄为figure_handle的图形窗口的缩放模式对象句柄。

【实例1】 对于当前的图形进行缩放,如图2.53所示。

图2.53 对于当前的图形进行缩放

【实例2】 在水平方向缩放图像。

【实例3】 在分区窗口中缩放图形。在4个分区窗口中创建图形,通过设置轴句柄属性使每个窗口的缩放模式都不同。

图2.54 在水平方向缩放图像

图2.55 在分区窗口中缩放图形并使每个窗口的缩放模式都不同

【实例4】 通过函数设置zoom的属性值。复制下列代码在一个新的M文件中,然后执行程序。

图2.56 通过函数设置zoom的属性值

【实例5】 在zoom操作前和操作后执行函数。复制下列代码在一个新的M文件中,然后执行程序。

图2.57 在zoom操作前和操作后执行函数

2.1.25 clf——清除当前图形窗口

【功能】 清除当前图形窗口。该命令在命令窗口中执行与在回调程序中执行效果是一样的,即它不能区别由callback设置的属性HandleVisibility,也就是说,当它从一回调程序中执行时,命令clf仅仅删除属性HandleVisibility为on的图形对象。

【语法介绍】

·clf 删除当前窗口下所有可视的图形对象。

·clf RESET或clf('reset') 删除当前窗口下所有可视的图形对象,并重新设置图形对象的位置、单位的属性值至默认值。

·clf(fig) 删除句柄为fig的窗口下的图形对象。

·clf(fig,'reset') 删除句柄为fig的窗口下的图形对象,并重新设置位置、单位的属性值至默认状态。

·figure_handle=clf(...) 返回所删除的图形的句柄给figure_handle。

【实例】 创建曲线图形,然后删除图形对象。

2.1.26 contourf——绘制二维等高线图

【功能】 绘制二维等高线图。

【语法介绍】

·contourf(Z) 绘制矩阵的等高线图,其中矩阵Z是距平面的高度,Z至少为2×2矩阵。

·contourf(Z,n) 绘制矩阵Z的n条等高线。

图2.58 使用clf函数删除图形对象

·contourf(Z,v) 绘制指定高度上矩阵的等高线图。参量v为向量,表示等高线指定高度,等高线数量为v的长度。

·contourf(X,Y,Z) 绘制曲面的等高线。(x(i),y(i))是平面z=0上点的坐标矩阵,Z为相应点的高度值矩阵。

·contourf(X,Y,Z,n) 绘制曲面的n条等高线。其他参量及结果同上。

·contourf(X,Y,Z,v) 绘制指定高度上曲面的等高线图。参量v为向量,表示等高线指定高度,等高线数量为v的长度。

·contourf(axes_handle,...) 在句柄为axes_handle的轴上绘制曲面或矩阵的等高线图。

·contourf(...,LineSpec) 指定等高线图的线型。参量LineSpec取值见表2.1。

·C=contourf(...) 返回等高矩阵C。

·[C,h]=contourf(...) 返回等高矩阵C和线句柄或块句柄列向量h。

【实例】 绘制peaks函数的等高线图,并且返回等高矩阵C和线句柄列向量h。

图2.59 绘制peaks函数的等高线图 hpBGl0EDPWheP7kOulXL3a+7QAz91qmRqFt/rZOh6fZ+d7YiM2DLbhqYzjgxEWsS

点击中间区域
呼出菜单
上一章
目录
下一章
×