概述
7.1.2 特殊平面图形命令
命令1 polar
功能 画极坐标图。该命令接受极坐标形式的函数rho=f(θ),在笛卡儿坐标系平面上画出该函数,且在平面上画出极坐标形式的格栅。
用法 polar(theta,rho) 用极角theta和极径rho画出极坐标图形。极角theta为从x轴到半径的单位为弧度的向量,极径rho为各数据点到极点的半径向量。
polar(theta,rho,LineSpec) 参量LineSpec指定极坐标图中线条的线型、标记符号和颜色等。
例7-8
>>t = 0:.01:2*pi;
>>polar(t,sin(3*t).*cos(2*t),'--r')
图形结果为图7-8。
命令2 bar
功能 二维垂直条形图。用垂直条形显示向量或矩阵中的值。
用法 bar(Y) 若y为向量,则分别显示每个分量的高度,横坐标为1到length(y);若y为矩阵,则bar把y分解成行向量,再分别画出,横坐标为1到size(y,1),即矩阵的行数。
bar(x,Y) 在指定的横坐标x上画出y,其中x为严格单增的向量。若y为矩阵,则bar把矩阵分解成几个行向量,在指定的横坐标处分别画出。
bar(…,width)设置条形的相对宽度和控制在一组内条形的间距。缺省值为0.8,所以,如果用户没有指定x,则同一组内的条形有很小的间距,若设置width为1,则同一组内的条形相互接触。
bar(…,'style')指定条形的排列类型。类型有“group”和“stack”,其中“group”为缺省的显示模式。
“group”:若y为n*m阶的矩阵,则bar显示n组,每组有m个垂直条形的条形图。
“stack”:对矩阵y的每一个行向量显示在一个条形中,条形的高度为该行向量中的分量和。其中同一条形中的每个分量用不同的颜色显示出来,从而可以显示每个分量在向量中的分布。
bar(…,LineSpec)用指定的颜色LineSpec显示所有的条形。
[xb,yb] = bar(…)返回用户可用命令plot或命令patch画出条形图的参量xb,yb。这对用户控制一个图形的显示是有用的,例如要在一个plot语句中加入装饰性的条形图等。
h = bar(…)返回一个patch图形对象句柄的向量。每一条形对应一个句柄。
例7-9
x = -2.9:0.2:2.9;
bar(x,exp(x.*sin(x)))
colormap gray
图形结果为图7-9。
例7-10
subplot(2,2,4)
bar(Y,1.5)
title 'Width = 1.5'
图形结果为图7-10。
命令3 barh
功能 二维水平条形图。用水平条形显示向量或矩阵中的值。
用法 barh(Y) 若y为向量,则分别显示每个分量的高度,纵坐标为1到length(y);若y为矩阵,则bar把y分解成行向量,再分别画出,纵坐标为1到size(y,1),即矩阵的行数。
barh(x,Y) 在指定的纵坐标x上以水平方向画出y,其中x为严格单增的向量。若y为矩阵,则barh把矩阵分解成几个行向量,在指定的纵坐标处分别画出。
barh(…,width)设置条形的相对宽度和控制在一组内条形的间距。缺省值为0.8,所以,如果用户没有指定x,则同一组内的条形有很小的间距,若设置width为1,则同一组内的条形相互接触。
barh(…,'style')指定条形的排列类型。类型有“group”和“stack”,其中“group”为缺省的显示模式。
“group”:若y为n*m阶的矩阵,则bar显示n组,每组有m个水平条形的条形图。
“stack”:对矩阵y的每一个行向量显示在一个条形中,条形的高度为该行向量中的分量和。其中同一条形中的每个分量用不同的颜色显示出来,从而可以显示每个分量在向量中的分布。
barh(…,LineSpec)用指定的颜色LineSpec显示所有的条形。
[xb,yb] = barh(…)返回用户可用命令plot或命令patch画出条形图的参量xb,yb。这给用户控制一个图形的显示是有用的,例如要在一个plot语句中加入装饰性的条形图等。
h = barh(…)返回一个patch图形对象句柄的向量。每一条形对应一个句柄。
例7-11
>>X = 1:.5:5;
>>Y = exp(X).*sin(X);
>>barh(Y,'stack')
图形结果为图7-11。
命令4 compass
功能 从原点画箭头图。箭头图为一显示起点为笛卡儿坐标系中的原点的二维或三维方向或向量的图形,同时在坐标系中显示圆形的分隔线。
用法 compass(X,Y) 参量x与y为同型的n维向量,则命令显示n个箭头,箭头的起点为原点,箭头的位置为[X(i),Y(i)]。
compass(Z) 参量z为n维复数向量,则命令显示n个箭头,箭头起点为原点,箭头的位置为[real(Z),imag(Z)].
compass(…,LineSpec) 用参量LineSpec指定箭头图的线型、标记符号、颜色等属性。
h = compass(…)返回line对象的句柄给h。
例7-12
Z = magic(20).*randn(20);
compass(Z)
图形结果为图7-12。
命令5 comet
功能 二维彗星图。彗星图为彗星头(一个小圆圈)沿着数据点前进的动画,彗星体为跟在彗星头后面的痕迹,轨道为沿着整个函数的实线。我们要指出的是,由命令comet生成的轨迹是使用擦除模式(EraseMode)属性的值为none,该属性使用户不能打印该图形(只能得到彗星头),且当用户改变窗口的大小时,动画将消失。
用法 comet(y) 彗星图动画显示向量y确定的路线。
comet(x,y) 彗星图动画显示向量x与y确定的路线。
comet(x,y,p) 指定彗星体的长度p*length(y),缺省的p值为0.1。
例7-13
>>t = 0:.01:2*pi;
>>x = exp(sin(2*t)).*(cos(t).^2/3);
>>y = t.*(sin(t).^2);
>>comet(x,y);
图形结果为图7-13。
附:擦除模式(EraseMode)属性及属性值:{normal}|none|xor|background
该属性控制系统用于显示与擦除线条对象的技术。不同的擦除模式对于生成动画系列,即控制个别对象的重新显示方式,对于改进外在显示和获得理想的效果是很必要的。
表7-4
属性值
含义
Normal
(缺省值)
重新显示受影响的区域,在必要的时候,进行三维分析计算,以保证所有的对象的显示都是正确的。该模式下的图形显示是最精确的,不过也是最缓慢的,以下其他三种模式显示速度较快,不过没有执行一个完全的重显过程,因而,图形显示也不是很精确的。
none
当线条移动或改动时,该模式没有擦除线条,而是仍然显示于屏幕上。该模式下不能打印图形,因为系统没有存储前一图形的任何信息。
xor
使用异或运算(xor)计算线条颜色与当前位置下的颜色,用所得结果显示与擦除线条。该模式对于线条下面对象的颜色没有任何破坏,只是影响到线条的当前显示颜色而已。
Background
用当前坐标轴颜色重新显示线条的方式来擦除线条,若当前坐标轴颜色设置为none,则用图形的背景色来代替坐标轴颜色。该模式对于处于擦除线条后面的对象来说是有损害的,不过当前线条的颜色总是最合适的。
命令6 errorbar
功能 沿着一曲线画误差棒形图。误差棒为数据的置信水平或者为沿着曲线的偏差。在下列参数中,若为矩阵,则按列画出误差棒。
用法 errorbar(Y,E) 画出向量y,同时显示在向量y的每一元素之上的误差棒。误差棒为E(i)在曲线y上面与下面的距离,所以误差棒的长度为2*E(i)。
errorbar(X,Y,E) X,Y,E必须为同型参量。若同为向量,则画出带长度为2*E(i)、对称误差棒于曲线点(X(i),Y(i))之处;若同为矩阵,则画出带长度为E(i,j)、对称误差棒于曲面点(X(i,j),Y(i,j))之处,
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(…,LineSpec)用LineSpec指定的线型、标记符、颜色等画出误差棒。
h = errorbar(…)返回线图形对象的句柄向量给h。
例7-14
>>X = 0:pi/10:pi;
>>Y = exp(X).*sin(X);
>>E = std(Y)*ones(size(X));
>>errorbar(X,Y,E)
图形结果为图7-14。
命令7 feather
功能 画出速度向量图。一羽毛图在横坐标上等距地显示向量。用户要表示各个向量的、相对于原点的向量分量。
用法 feather(U,V) 显示由参量向量u与v确定的向量,其中u包含作为相对坐标系中的x成分,v包含作为相对坐标系中的y成分。
feather(Z) 显示复数参量向量z确定的向量,等价于feather(real(Z),imag(Z))。
feather(…,LineSpec)用参量LineSpec指定的线型、标记符号、颜色等属性画出羽毛图。
例7-15
>>th = (-90:10:90)*pi/180;
>>r = 4*ones(size(th));
>>[u,v] = pol2cart(th,r);
>>feather(u,v);
图形结果为图7-15。
命令8 hist
功能 二维条形直方图,可以显示出数据的分配情形。所有向量y中的元素或者是矩阵y中的列向量中的元素是根据它们的数值范围来分组的,每一组作为一个条形进行显示。条形直方图中的x轴反映了数据y中元素数值的范围,直方图的y轴显示出参量y中的元素落入该组的数目。所以y轴的范围从0到任一条形中包含元素最多的数字。直方图为一patch图形对象,若想改变图形的颜色,可以对patch对象的属性进行设置。缺省时,图形颜色是由当前色图进行控制,当前色图的第一个颜色为直方图的颜色。
用法 n = hist(Y) 把向量y中的元素放入等距的10个条形中,且返回每一个条形中的元素个数。若y为矩阵,则该命令按列对y进行处理。
n = hist(Y,x) 参量x为向量,把y中元素放到m(m=length(x))个由x中元素指定的位置为中心的条形中。
n = hist(Y,nbins) 参量nbins为标量,用于指定条形的数目。
[n,xout] = hist(…)返回向量n与包含频率计数与条形的位置向量xout,用户可以用命令bar(xout,n)画出条形直方图。
例7-16
>>x = -5:0.1:5;
>>y = randn(1000,1);
>>hist(y,x)
图形结果为图7-16。
命令9 histc
功能 直方图记数
用法 n = histc(x,edges) 统计向量x中、落入向量edges(元素必须为单调的非减的)各个元素之间的元素个数。输出参量n为一与向量edges同维的向量。其中若有edges(k)>=x(i)>=edges(k+1),则n(k)增加1。X中超出向量edges规定的范围的元素将不被统计。参量edges中可使用-inf与inf,用于包括向量x中非NaN的元素。若x为一矩阵,则对x的每一列进行上述操作。
n = histc(x,edges,dim) 对多维矩阵的第dim维进行统计。
[n,bin] = histc(…) n结果同上,同时返回矩阵下标bin。若x为向量,n(k) = sum(bin == k)。对于超出范围的数值,bin为零值。
命令10 rose
功能 画角度直方图。该直方图是一个显示所给数据的变化范围内数据的分布情形的极坐标图,所给数据分成不同的组。每一组作为一小扇形进行显示。
用法 rose(theta) 画一角度直方图,显示参数theta的数据在20个区间或更少的区间内的分布。向量theta中的角度单位为弧度,用于确定每一区间与原点的角度。每一区间的长度反映出输入参量的元素落入一区间的个数。
rose(theta,x) 用参量x指定每一区间内的元素与区间的位置,length(x)等于每一区间内元素的个数与每一区间位置角度的中间角度。例如,若x为一5维向量,rose命令分配参量theta中的元素为5部分,每一部分的角度中线由x指定。
rose(theta,nbins) 于区间[0,2*pi] 内画出nbins个等距的小扇形。缺省值为20。
[tout,rout] = rose(…)返回向量tout与rout,可以用polar(tout,rout)画出图形。该命令没有画任何的图形。
例7-17
>>theta = 3*pi*randn(1,30);
>>rose(theta)
图形结果为图7-17。
命令11 stairs
功能 画二维阶梯图,这种图对与时间有关的数字样本系统的作图很有用处。
用法 stairs(Y) 用参量y的元素画一阶梯图。若y为向量,则横坐标x的范围从1到m=length(y),若y为矩阵,则对y的每一行画一阶梯图,其中x的范围从1到y的列数m。
stairs(X,Y) 结合x与y画阶梯图。其中要求x与y为同型的向量或矩阵。此外,x可以为行向量或为列向量,且y为有m=length(x)行的矩阵。
stairs(…,LineSpec)用参数LineSpec指定的线型、标记符号和颜色画阶梯图。
[xb,yb] = stairs(Y) 该命令没有画图,而是返回可以用命令plot画出参量y的阶梯图的向量xb与yb。
[xb,yb] = stairs(X,Y) 该命令没有画图,而是返回可以用命令plot画出参量x,y的阶梯图的向量xb与yb。
例7-18
>>x = 0:.25:10;
>>stairs(x,exp(sin(x.^2)))
图形结果为图7-18。
命令12 stem
功能 画二维离散数据的柄形图。该图用线条显示数据点与x轴的距离,一小圆圈(缺省标记)或用指定的其他标记符号与线条相连,在y轴上标记数据点的值。
用法 stem(Y) 按y元素的顺序画出柄形图,在x轴上,柄与柄之间的距离相等;若y为矩阵,则把y分成几个行向量,在同一横坐标的位置上画出一个行向量的柄图。
stem(X,Y) 在横坐标x上画出列向量y的柄形图 。其中x与y为同型的向量或矩阵,此外,x可以为行向量或列向量,而y为有m=length(x)行的矩阵。
stem(…,'fill')指定是否对柄形图末端的小圆圈填充颜色。
stem(…,LineSpec)用参数LineSpec指定线型,标记符号和柄图末端的小圆圈的颜色画柄图。
h = stem(…)返回柄形图的line图形对象句柄向量。
例7-19
>>x = linspace(0,2,10);
>>stem(exp(-x.^2),'fill','-.')
图形结果为图7-19。
命令13 stem3
功能 画三维离散数据的柄形图。该图用一线段显示数据离开xy平面的高度,在线段的末端用一小圆圈(缺省记号)或其他的标记符号表示数据的高度。
格式 stem3(Z) 用柄形图显示z中数据与xy平面的高度。若z为一行向量,则x与y将自动生成,stem3将在与x轴平行的方向上等距的位置上画出z的元素;若y为列向量,stem3将在与y轴平行的方向上等距的位置上画出z的元素。
stem3(X,Y,Z) 在参数x与y指定的位置上画出z的元素,其中x,y,z必须为同型的向量或矩阵。
stem3(…,'fill')指定是否要填充柄形图末端小圆圈。
stem3(…,LineSpec)指定线型,标记符号和末端小圆圈的颜色。
h = stem3(…)返回柄形图的line图形对象句柄。
例7-20
[X,Y,Z] = peaks(20);
stem3(X,Y,Z,’r*')
图形结果为图7-20。
命令14 pie
功能 饼形图
格式 pie(X) 用x中的数据画一饼形图,x中的每一元素代表饼形图中的一部分。X中元素X(i)所代表的扇形大小通过X(i)/sum(X)的大小来决定。若有sum(X)=1,则x中元素就直接指定了所在部分的大小;若sum(X)<1,则画出一不完整的饼形图。
pie(X,explode) 从饼形图中分离出一部分,explode为元素为零或非零的、与x相对应的向量或矩阵。与explode的非零值对应的部分将从饼形图中心分离出来。explode必须与x同型。
h = pie(…)返回一patch与text的图形对象句柄向量h。
例7-21
>>x = [1 3 0.5 2.5 2];
>>explode = [0 1 0 0 0];
>>pie(x,explode)
图形结果为图7-21。
最后
以上就是诚心纸飞机为你收集整理的如何用matlab对两个行向量作图_matlab 绘图与图形处理(二)的全部内容,希望文章能够帮你解决如何用matlab对两个行向量作图_matlab 绘图与图形处理(二)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复