【教学课件】第7章数据可视化.ppt
《【教学课件】第7章数据可视化.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第7章数据可视化.ppt(37页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第7章 数据可视化本书在第5、6章重点介绍了MATLAB强大的数值计算功能,但抽象的数据对于普通用户来说,往往是晦涩难懂的,针对这一问题,MATLAB为用户提供了更加强大的数据可视化功能,用户可以通过MATLAB的绘图函数和图形编辑窗口方便的绘制二维、三维甚至多维的图形。本章着眼于MATLAB的“高层”图形指令,主要内容包括:绘图步骤、二维和三维图形的创建和参数编辑、图形编辑窗口、图形的打印和输出。有关MATLAB“低层”图形指令,即“句柄图形”的有关内容,本章暂不涉及,详见后续章节。7.1 绘图步骤用户在MATLAB 7.0中进行图形绘制,可以利用系统的图形函数,也可以使用系统自带的图形编辑
2、窗口,关于图形编辑窗口的内容,本章后续会专门安排一节讲解,本节主要介绍在MATLAB中用图形函数绘图的一般操作步骤,以绘制一个三角函数的图形为例。7.2 二维图形的绘制与编辑二维图形是MATLAB图形的基础,也是应用最广泛的图形类型之一,本节主要讲解二维图形的绘制和编辑,内容包括:使用plot函数命令创建二维图形、图形属性设置、坐标轴属性设置、图形注释、图形叠绘、双纵坐标绘制、多子图绘制及特殊二维图形的绘制。7.2.1 调用plot函数绘制二维图形二维绘图函数中最基本的是plot函数,其余函数都是围绕其发展扩充形成的。本小节首先介绍如何调用plot函数来绘制图形。MATLAB中调用plot函数
3、的方式有3种,具体格式、功能及举例如下。1.plot(X,s)如X为实数向量时,MATLAB以X中元素的下标为横坐标,元素值为纵坐标绘制连续曲线。如下绘制实数向量的图形。2.plot(X,Y,s)如X和Y为同维向量,MATLAB以X为横坐标、以Y为纵坐标绘制图形。3.plot(X1,Y1,s,X2,Y2,s,X3,Y3,s,)此种方式与第2种类似,不同的只是同时在图形窗口中绘制多条互不影响的连续曲线。7.2.2 便捷绘图函数fplot和ezplot上一小节介绍了二维绘图中最基础的plot函数指令,运用plot指令可以把数值矩阵通过图形表示出来,但当用户不想刻意控制自变量范围和函数值范围,而只是
4、想大致了解数据的图形轮廓,或是用户由于数据资料的不足,不能够掌握数据的细微变化规律和相互联系的时候,如果仍然用plot函数指令绘图就显得不是很方便,而且会出现函数表现力差、失真等情况。对于这个问题,MATLAB提供给了用户两个便捷绘图的函数fplot和ezplot。所谓“便捷”即是用户不需要设置,仅仅让系统内部自动调整自变量的范围和间隔。fplot函数用于绘制由M-文件名或函数句柄定义的函数,而ezplot常用来绘制字符串表达式或符号表达式定义的函数。7.2.3 设置图形曲线的线型、颜色与数据点型在上面的内容中,读者已经了解了二维图形的基本绘图步骤和绘图函数,在完成了一个图形的初步绘制后,用户
5、为了使图形更具表现力,更加清晰易读,常常需要对于图形曲线的若干属性进行设置,其中最重要的3个属性是曲线线型、颜色和数据点型。MATLAB 7.0为用户提供了各种不同的曲线元素,让用户可以随心所欲地选择自己需要和喜欢的类型,为了用户尽快掌握MATLAB提供的丰富资源并便于以后的查找,下面分别列出线型、颜色和数据点型的各个选项。7.2.4 设置坐标轴范围在绘制某些图形的时候,用户对坐标轴的范围和刻度要求常常比较严格,虽然MATLAB拥有便捷智能的函数和内部自适应设置,但是显示的图形往往仍达不到用户所要求的效果。所以,MATLAB提供给用户一系列坐标轴操作控制指令,使用户可以根据自己的具体需要和爱好
6、,有针对性地调整和设置坐标轴的某些参数。下面首先列出MATLAB中常用的坐标轴操作函数。7.2.5 设置网格和坐标框在图形绘制完成后,用户有时需要在图形的背景上添加网格,这样便于数据的精细分析和计算,在MATLAB中,用户可以通过grid on和grid off函数进行网格的添加和删除操作,也可以直接用grid函数改变当前的网格状态,比如当前没有网格显示,那么输入grid函数,图形背景就出现网格。接着上一小节图显示的图形,输入grid指令,按Enter键,则图形添加了网格背景,如图所示。7.2.6 图形叠绘MATLAB中允许用户使用plot函数一次绘制多条互相独立的图形,在实际工作中,用户不但
7、需要一次绘制多图,有时还要多次绘制多图,即在已经绘制完成的图形上再次添加或删减图形,对于用户的这种需要,MATLAB提供了hold函数。如果用户首先绘制了一个正弦函数曲线,代码如下。x=-pi:.001:pi;y=sin(x);plot(x,y)得到的正弦曲线,如果用户想在这个图形窗口再显示一条余弦曲线,用来和正弦曲线做对比,那么用户只需要输入hold on函数,接着进行余弦图形的绘制,代码如下。hold on plot(x,cos(x),-r)7.2.7 绘制双Y-坐标图形在实际工作中,用户经常需要把同一个自变量的两个、甚至多个不同量纲、不同数量级的函数的图形绘制在同一个图形中,如果使用常用
8、的单坐标是不能有效解决诸如此类的问题的,所以MATLAB提供了专门用来绘制双坐标的函数plotyy供用户使用。plotyy函数具体的调用格式及功能如下。plotyy(x1,y1,x2,y2):以左、右不同纵轴绘制x1-y1、x2-y2两条曲线。plotyy(x1,y1,x2,y2,FUN):以左、右不同纵轴绘制x1-y1、x2-y2两条形式由FUN指定的曲线。plotyy(x1,y1,x2,y2,FUN1,FUN2):以左、右不同纵轴绘制x1-y1、x2-y2两条形式分别由FUN1和FUN2指定的曲线。7.2.8 绘制多子图前面介绍了用户如何在一个图形中绘制多条曲线,MATLAB也允许用户在一
9、个图形窗口中绘制多个完全独立的子图,并且提供了符合用户习惯的分栏方式。如果用户根据需要把图形窗口分割为mn个子图,那么可以把整个图形窗口看作是mn的二维矩阵,共有子图mn个,分别看成是整图的各个元素,子图的编号从第1到第(mn),第1幅子图是矩阵的第1行第1列的元素,第2幅子图是第1行第2列的元素,依次类推,按每行从左至右,列从上到下的顺序,最后1幅子图是第mn个元素。7.2.9 图形标识MATLAB的数据可视化的功能之强大,不仅在于其包容广泛的绘图函数,还体现在其提供给用户丰富的图形标识函数指令,使图形可以更好地说明其代表的数据含义和相互联系,使用户看到图形,就一目了然地明白图形作者想要通过
10、图形表现的重点。在7.1节,本书简单地介绍了MATLAB中的图形标识主要是针对X坐标轴、Y坐标轴、图形标题、图例及字符注释,常见的标识函数和各自功能列表如下。7.2.10 交互式图形绘制函数在MATLAB中,除了前面介绍的图形绘制及编辑函数,还有若干与鼠标有关的图形操作函数,本小节介绍常用的两个:ginput和zoom函数。用户完成了图形曲线的绘制后,希望知道某个自变量的函数值,那么使用ginput函数就可以十分方便地通过鼠标来读取图形中任意一点的坐标,其常用调用格式如下:x,y=ginput(n)。鼠标在图形上取n个数据点的坐标值(n为正整数),并保存在x,y中。仍以【例6】绘制的图形为例,
11、如果用户希望取两个极值的坐标,则只需要使用ginput函数,代码如下。x,y=ginput(2)7.3 绘制三维图形读者在上一节主要了解了MATLAB中二维图形的绘制和设置方法,所涉及的所有元素都是在二维平面上的,事实上,在实际教学、科研和工程应用中,很多用户不仅需要平面范畴的图形说明,有时更希望能借助三维立体空间的图形演示来增强数据的表现力,针对用户的此种需要,MATLAB提供了三维绘图功能。尽管从某种意义上说,三维绘图其实可以看成二维绘图的延伸和发展,很多图形及坐标轴设置的命令可以二、三维通用,但是三维绘图仍有其特殊的绘制函数,并且需要进行二维图形所没有的视角、光照及透明度的设置。图形本节
12、主要介绍三维图形的绘制,而三维图形的编辑将在7.4节详细讲解。7.3.1 使用plot3函数绘制三维曲线三维曲线绘制函数plot3与二维曲线绘制函数plot相对应,惟一不同的是,用户需要在plot3函数中输入3个数据参数,此函数的常用调用格式为:plot(X,Y,Z,s)。X、Y和Z是同维向量时,分别以X、Y和Z的元素为x、y和z轴坐标。X、Y和Z是同维矩阵时,分别以X、Y和Z的对应列元素为x、y和z轴坐标,曲线条数等于矩阵的列数。s所代表的意义和设置的标准与二维曲线相同,具体内容参考第7.2.3节,下面举例说明plot3函数的调用方法。7.3.2 使用mesh函数绘制三维网格图用户在绘制三维
13、图形时,常需要绘制曲线网格图,MATLAB提供了专门绘制曲线网格图的函数mesh,此函数可以绘制出完整的曲面,其常用的调用格式及功能如下。mesh(Z):分别以矩阵Z的列、行下标作为x、y轴的自变量,进行绘图。绘制一个随机5阶矩阵的曲线网格图,代码如下。x=rand(5);mesh(x)随即生成图形,如图所示。mesh(X,Y,Z):最常用的一般调用格式。mesh(X,Y,Z,C):完整的调用格式,其中C作用为指定图形的着色,C没有指定,系统默认C=Z。7.3.3 使用surf函数绘制三维曲面图MATLAB中的surf函数专门用于绘制三维着色曲面图,其调用格式和对数据准备的要求与上一小节的me
14、sh函数相同,仍以图中的图形为例,如果用户用surf函数代替mesh函数来绘制上子图,那么图形如图上子图所示。surf函数也有扩展函数,其中一个是surfc函数,其功能对应surf函数与meshc对应mesh是一样的。如果对图的下子图,用surfc函数代替mesh函数,则图形如图下子图所示。surf函数另外两个常用的扩展函数为surfl和surfnorm函数,surfl函数可以在绘制图形时考虑光照效果,而surfnorm函数则用于计算数据X、Y和Z定义表面的法向量。对图的上下子图分别调用surfl和surfnorm函数,得到如图所示图形。7.4 编辑三维图形上一节主要针对三维图形的绘制函数,向
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教学课件 教学 课件 数据 可视化
限制150内