
matlab课程ppt第三章.ppt
24页第三章 数据可视化,在数据可视化方面提供了很强的功能,它可以把数据以多种形式加以表现§3.1 基本平面图形 3.1.1 线性坐标平面图形 绘制线性坐标平面图形的函数有:plot和fplot,这两个函数能实现不同的功能,下面分别介绍一下这两个函数3.1.1 线性坐标平面图形,一、plot 函数 对于不同的输入参数,该plot函数有不同的形式,可以实现不同的功能下面是带有各种参数的plot函数:,1) plot(y): 当只有一个参数时,函数plot以该参数的值为纵坐标,横坐标从1开始自动赋值为向量[1 2 3.]或其转置向量,且此向量的方向和长度与参数y相同 2)plot(x ,y): 对向量x绘制向量y以为x横坐标向量,y为纵坐标向量,按照坐标(xi ,yi)的有序排列绘制曲线 3)plot(x1,y1,x2,y2,…): 在同一窗口中绘制多条曲线,且每条曲线的横坐标可以不同,每组向量也可以有不同的长度3.1.1 线性坐标平面图形,4)plot(x,y,’选项’),这里的“选项”包括线型、颜色、数据点标记符号等特性的设置,常见的“选项”见下表:,,3.1.1 线性坐标平面图形,“选项”内容表(续),‘--r’ ‘:yx’,3.1.1 线性坐标平面图形,5)plot(z): 以横轴为实轴,纵轴为虚轴,绘制(real(z),imag(z))的有序集合的图形。
6)plot(A): 绘制矩阵A的列对它下标的图形,对于 m*n 的矩阵,有n个含有m个元素的数对,用此函数可绘制n条有m个点的曲线,且这n条曲线均采用不同的颜色绘制而成 7)plot(x,A): 对向量x绘制矩阵A的图形,对m*n的矩阵A和长度为m的向量x,绘制矩阵A的列对向量x的图形;若x的长度为n,则绘制矩阵A的行对向量x的图形;向量x是行向量或列向量3.1.1 线性坐标平面图形,8) plot(A ,x): 对矩阵A绘制向量x的图形对一个的m*n矩阵A和一个长度m为的向量x,对矩阵A的列绘制向量x的图形若x的长度为n,则对矩阵A的行绘制向量x的图形向量x可以是行向量也可以是列向量 9) plot(A ,B): 对矩阵A的列绘制矩阵B的列的图形如果A和B都是m*n的矩阵,将绘制n条由m个有序对连成的曲线3.1.1 线性坐标平面图形,(1)fplot(fun ,lims): 绘制由字符串fun指定的函数图形,此字符串指定的函数可以是标准函数,也可以是用户在M文件fun.m中自定义的函数,但不允许是内联函数向量lims=[xmin,xmax]给出绘图区间范围,该向量也可以包含4个元素,后两个参数用来表示y轴的区间,即lims=[xmin xmax ymin ymax]. (2)fplot(fun,lims,str): 字符串str用来改变图形的线型和颜色。
(3)fplot(fun,lims,str,tol): tol用来控制命令的相对误差二、fplot函数:,3.1.2 对数坐标曲线,函数semilogx 、semilogy 和loglog可以绘制二维对数坐标曲线,这三个函数的用法和plot函数用法基本相同下面是这三个函数的用法1)semilogx(x,y): 在半对数坐标系中绘图,x轴用以10为底的对数刻度标定,类似于plot(log10(x),y); (2)semilogy(x,y): y轴用以10为底的对数刻度标定,类似于plot(x,log10(y)). (3)loglog命令 x轴和y轴都用以10为底的对数刻度标定,类似于 plot(log10(x),log10(y)). loglog命令可带不同的参数,下面是带各种参数的loglog命令,3.1.2 对数坐标曲线,函数loglog可以带有不同的参数,下面是带有各种参数的loglog函数.,① loglog(x,y): 对向量x绘制向量y,按坐标(log10(x),log10(y))的有序排列绘制曲线 ② loglog(y): 以y为纵坐标,横坐标由软件系统自动给出,在对数坐标系中绘图。
③ loglog(z): 以横轴为实轴,纵轴为虚轴,绘制(real(z),imag(z))的有序集合的图形3.1.2 对数坐标曲线,④ loglog(A): 绘制矩阵A的列对它下标的图形对于m*n的矩阵A,有n个含有m个元素的数对,或是n条有个m点的曲线,且这n条曲线均采用不同的颜色绘制而成 ⑤ loglog(x,A): 绘制矩阵A对向量x的图形对m*n的矩阵A和长度为m的向量x,绘制矩阵A的列对向量x的图形若x的长度为n,则绘制矩阵A的行对向量x的图形向量x可以是行向量也可以是列向量 ⑥ loglog(A,x): 对矩阵A绘制向量x的图形对于m*n的矩阵A和一个长度为m的向量x,对矩阵A的列绘制向量x的图形若x的长度为n,则对矩阵A的行绘制向量x的图形3.1.2 对数坐标曲线,⑦ loglog(A,B): 对矩阵A的列绘制矩阵B的列的图形如果A和B都是m*n的矩阵,将绘制n条由m个有序对连成的曲线 ⑧ loglog(x1,y1,str1,x2,y2,str2,…): 用字符串str1指定的颜色和线型对x1绘制y1的图形,用字符串str2指定的颜色和线型对x2绘制y2的图形。
参数str1、str2与plot函数中的相同,参见前面的表格3.1.3 双y轴图形,双y轴图形即左右各有一个y轴的图形绘制双y轴图形的函数是plotyy该函数的几种常用形式如下:,(1)plotyy(x1,y1,x2,y2): 在一个图形窗口中同时绘制两条曲线(x1,y1)和(x2,y2),曲线(x1,y1)用左侧的y轴,曲线(x2,y2)用右侧的y轴 (2)plotyy(x1,y1,x2,y2,FUN): “FUN”是字符串格式,用来指定绘图的函数名,如plot semilogx等.例:命令plotyy(x1,y1,x2,y2,‘semilogx’),即用函数semilogx来绘制的曲线(x1,y1)和(x2,y2) (3)plotyy(x1,y1,x2,y2,FUN1,FUN2): 用“FUN1”和“FUN2”分别指定用不同的绘图函数来绘制双y轴图形§3.2 特殊图形,3.2.1 条形图 条形图常用于统计数据的作图,MATLAB中绘制条形图的函数及其功能见下表:,这四个函数调用方法相似,下面以函数 bar 为例,说明这四个函数的用法:,3.2.1 条形图,函数bar的调用方式如下: (1)bar(x,y):x是横坐标向量,y是向量或矩阵,当y是向量时,每一个元素对应一个竖条;y是 m*n 矩阵时,将画出m组竖条,每一组包括n个条。
(2)bar(y):横坐标使用缺省值1:1:m,其它同上 (3)bar(x,y,width)或bar(y,width):用“width”指定竖条的宽度,缺省宽度是0.8若指定的宽度大于1,则条与条之间将重合 (4)bar(…,‘grouped’):产生组合的条形图 (5)bar(…,’stacked’):产生堆叠的条形图 (6)bar(…,’linespec’):指定条的颜色 (7)h=bar(…):返回补片对象的句柄向量3.2.2 复数向量图,(1)plot(x,y): 无论参数x、y哪个是复数,都将被忽略掉虚部数据,只绘制该复数的实部数据其余用法和绘制一般实数数据相同 (2)plot(z): 以复数z的实部为横坐标,虚部为纵坐标绘制实部和虚部的关系曲线,其作用相当于使用命令 plot(real(z),imag(z))当数据为复数,使用plot函数绘制图形时,根据plot函数的不同调用方式有以下两种不同的情况:,3.2.3 直方图,直方图与条形图的形状类似,但作用不同,它主要用于显示数据的分布规律 建立直方图的函数有 hist 和 rose,其中函数 hist 在直角坐标系中建立直方图,函数 rose 在极坐标系中建立直方图。
函数 hist 的主要用法是: (1) N=hist(Y):把“Y”按其中数据的大小分为10个长度相等的段,统计每段中的元素个数并返回给“N”;若“Y”是矩阵,则按列分段 (2)N=hist(Y,m):m是设置的分段的个数 (3)N=hist(Y,X):X是向量,用于指定所分的每个数据段的中间值 (4)hist(…): 不带输出参数,直接绘制直方图3.2.3 直方图,在极坐标系中建立直方图的函数 rose 用法和 hist 类似,只是把数据作为弧度值处理,在极坐标系中建立直方图 函数 rose 的用法如下: (1)rose(V):绘制相角直方图,也就是向量V中相角频率的角度直方图,间隔数是20 (2)rose(V,n):绘制相角直方图,由n指定间隔数3.2.4 复平面图形,函数quiver的主要调用格式为: quiver(X,Y): 对每对坐标(Xij,Yij)绘制一个箭头命令quiver(real(z),imag(z))可以看成绘制矩阵z中复数元素方向与大小的图形绘制复平面图形的函数有:quiver、feather和compass.,3.2.4 复平面图形,函数feather把复数矩阵中的元素的相角和幅值显示成沿横轴等间隔辐射的箭头,其调用格式是: (1)feather(z): 把复数矩阵z中元素的相角和幅值显示成沿横轴等间隔辐射的箭头; (2)feather(x,y): 等价于 feather(x+y*i),即feather(z); (3)feather(z,str): 使用str确定的线型绘制箭头。
3.2.4 复平面图形,(1)compass(z): 把复数矩阵z中的元素的相角和幅值显示成从原点辐射的箭头 (2)compass(x,y): 等价于compass(x+y*i). (3)compass(z,str): 使用str确定的线型绘制箭头函数compass把复数矩阵z中的元素的相角和幅值显示成从原点辐射的箭头,其调用格式:,3.2.5 极坐标曲线图,函数 polar 可绘制极坐标曲线,该polar函数的调用格式如下: polar(theta,rho,选项): 其中,theta为角度向量,rho为幅值向量,这两个向量的长度必须相等‘选项’的内容和用法与函数plot中的基本一致,主要对线型、颜色、数据点标记符号进行设置3.2.6 扇形图,扇形图,又称饼图,用于显示一个整体中的元素所占元素总和的百分比函数 pie 和pie3分别用于绘制二维和三维扇形图它们的输入参数可以是向量或矩阵 这两个函数的用法类似,以pie为例,其调用方式如下: (1)pie(x):绘制向量或矩阵x中的数据的扇形图 (2)pie(x,explode):参数“explode “用于指定饼图中的某些片是否与整个饼图脱开,且参数 “explode”和函数的输入数据同维,当参数explode中的元素值非0时,该元素对应的片和整个饼图分开。
(3)pie(…,labels):”labels”用于标注扇形图的字符串数组,其长度和输入数据相同3.2.7 面积图,面积图非常适合于分析各个数据在总和中所占比例等命令 area 用于绘制面积图 3.2.8 离散数据图,离散数据图把每个数据点画成一条直线,在数据值的地方用墨点表示,看起来很像火柴杆,因此离散数据图又称火柴杆图在工程上经常遇到离散数据的绘图问题,为此MATLAB专门提供了函数:stem、stem3和stairs. 函数stem和stem3分别用来绘制二维和三维的离散数据图,二者用法与函数plot基本一致,但函数stem和stem3可以用选项“filled”来填充图中的离散数据点。












