第9章二维数据可视化_第1页
第9章二维数据可视化_第2页
第9章二维数据可视化_第3页
第9章二维数据可视化_第4页
第9章二维数据可视化_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第9章二维数据可视化MATLAB受到控制界广泛接受的一个重要原因是因为它提供 了方便的绘图功能。Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数。二维 图形的绘制是其它绘图操作的基础,本章主要介绍二维图 形的绘制,主要包括二维绘图、图形的标注、特殊图形的 绘制,以及交互式绘图等。9. 1 MATLAB 绘图二维图形是将平面坐标上的数据点连接起来的平面图形。可 以釆用不同的坐标系,如直角坐标、对数坐标、极坐标 等。在Matlab中,最基本而且应用最为广泛的绘图函数为plot,利用它可以在二维平面上绘制出不同的曲线

2、。下面介绍利用M ATLAB绘制二维图形。9. L1基本绘图函数在MATLAB中,绘制二维图形最常用的函数是plot(),该函 数的功能非常强大,通过不同的输入,能够绘制不同的 图形。该函数的调用格式为1. 函数plot(y)2. 函数plot(x, y)3. 函数plot(x, y, s)函数plot(x15 y15 s1, x2, y2, s2,.)9. 1.3子图绘制在MATLAB中,釆用函数subplot()进行子图绘制。该函数 能够将几个图形在同一个图形窗口中绘制出来,且釆用 不同的坐标系。subplot(m5 n5 p):该函数将当前图形窗口分成mF个绘图 区,即共m行,每行n个,

3、子绘图区的编号按行优先从左 到右编号。该函数选定第p个子图为当前活动区。在每一 个子绘图区允许以不同的坐标系单独绘制图形。9. 1.5设置坐标轴在实际应用中,有时需要在已经绘制好的图形上叠加绘制新的图形。在MATLAB中,釆用函数hold启动或关闭图形保持功能,该函数的调用格式为hold on:启动图形保持功能,允许在同一坐标轴上绘制多 个图。hold off:关闭图形保持功能,不能在当前坐标轴上再绘制 图形。hold:在两种状态hold on和hold off之间进行切换。hold all:实现hold on功能,并且使新的绘图函数依然按顺序循环使用当前坐标系中ColorOrder和Line

4、StyleOrder 两个属性。在MATLAB中,可以设置函数axis的参数实现对坐标轴进 行控制,该函数的调用格式为:axis(xmin xmax ymin ymax):该函数用于定义x轴和y轴 的范围。axis(xmin xmax ymin ymax zmin zmax): 该函数用于 定义坐标轴的范围,庖含X轴、y轴和Z轴的三维鹵形。axis(xmin xmax ymin ymax zmin zmax cmin cmax): 该函数用于定义三维坐标轴的范围,以及图形的颜色信 息。9. 1.5设置坐标轴函数axis功能丰富,常用的格式还有:axis equal:横轴和纵轴釆用等长刻度。ax

5、is square:产生正方形坐标系(系统的缺省设置)。axis auto:使坐标轴范围能够容纳下所有的图形。axis normal:解除对坐标轴的任何限制。axis o什:取消坐标轴的一切设置。axis on:恢复坐标轴的一切设置。9.1.6网格线和边框在MATLAB中,通过函数grid()给坐标轴加网格线,该函数 的调用格式为:grid on:给当前坐标轴添加网格线。 grid off:取消当前坐标轴的网格线。 grid minor:设置网格线间的间距。grid:不带参数时,在grid on和grid off之间进行切换。9.1.6网格线和边框在MATLAB中,通过函数box()给坐标轴加

6、边框,该函数的 调用格式为:box on:该函数给当前坐标轴添加边框线。box off:该函数取消当前坐标轴的边框线。box:不带参数时,在box on和box off之间进行切换。9. 1.8图形的拖拽在MATLAB中,通过函数zoom实现图形的缩放,该函数的调用格式为zoom (factor):该函数以作为缩放因子进行坐标轴的缩放。 zoom on:允许对坐标轴进行缩放。zoom off:禁止对坐标轴进行缩放。zoom out:恢复到最初的坐标轴设置。zoom reset:对当前的坐标轴进行复位,恢复到初始值。 zoom xon:允许对轴进行缩放。zoom yon:允许对轴进行缩放。zoo

7、m:在zoom on和zoom off之间进行切换。在MATLAB中,采用函数pan()进行图形的拖拽。在进行图形的拖拽时,鼠标变为手的形状。该函数的调用格式为:pan on:该函数打开图形的拖拽功能。pan xon:该函数打开图形在轴方向的拖拽功能。 pan yon:该函数打开图形在轴方向的拖拽功能。 pan off:该函数关闭图形的拖拽功能。pan:该函数在pan on和pan off之间进行切换。9.1.9数据光标在MATLAB中,通过函数datacursormode显示鼠标所选的图形上某点的坐标值,该函数的调用格式为:datacursormode on:该函数打开图形的数据光标功能。

8、datacursormode off:该函数关闭图形的数据光标功能。datacursormode:该函数在datacursormode on和datacursormode off之间进行切换。9.1.8绘制直线在MATLAB中,通过函数line()绘制简单的线,该函数的调用格式为:line(x5 y):该函数利用参数x和y绘制直线。如果x和y都为向量,必须具有相同的长度,将对应的元素作为横、纵坐标进行画线。如果x和y为矩阵,则以对矩阵的每一列 作为坐标绘制多条线。line(x5 y5 z):该函数在三维坐标中进行画线,参数x、y和z 为三维坐标系中的坐标值。在MATLAB中,釆用函数polar

9、()进行极坐标系的绘图,该 函数的调用格式为:polar(theta5 rho):该函数以弧度为theta和半径为rho在极 坐标系中进行绘图,极坐标系下的函数为rho=f(theta)opolar(theta5 rtho5 s):该函数通过参数对曲线的线型、标记 和颜色等信息进行设置,具体设置信息如表9.1所示。在MATLAB中,可以通过函数pol2cart()将极坐标系中的坐标值转换为直角坐标系下的坐标值,函数cart2pol()将直 角坐标系下的坐标值转换为极坐标系下的坐标值。9.1.10对数和半对数坐标系绘图在MATLAB中,除了釆用等比例刻度坐标系绘图,还可以 釆用对数和半对数坐标系

10、进行绘图。下面对这些函数进 行介绍:1、函数semilogx()2、函数semilogy()3、函数loglog()9. L11双纵轴绘图在MATLAB中,釆用函数plotyy()进行双y轴坐标系绘图,横坐标的标度相同。对于两组数据分别釆用左侧y轴和右侧y轴,它们的坐标轴范围各自独立,这样就能在一幅图中很好的观察两组数据的变化趋势。9.2图形的窗口和标注MATLAB所绘制的图像都显示在图形窗口,提供了丰富的 绘图工具。MATALB中图形的标注可以釆用绘图工具, 也可以釆用函数。下面分别进行介绍。9. 2.1图形窗口在MATLAB中,图形窗口由标题栏、菜单栏、工具条和图 形区组成。在标题栏的左侧

11、显示该图形的名称,标题栏 的右侧是图形的最大化、最小化和关闭按钮。菜单栏包 括:File (文件)、Edit (编辑)、View (视图)、 Insert (插入)、Tools (工具)、Desktop (桌面)、 Window (窗口)和Help (帮助)。在菜单栏右侧的箭 头可以将图形窗口显示在MATLAB的桌面中。通过绘图工具绘制的图形,可以转换为MATLAB程序。通就可以产生MATLA过单击菜单File|Generate Code, 桎序代鮒。9.2.1图形标注概述在MATLAB中,可以通过函数进行图形的标注,也可以直 接在图形的编辑模式下进行图形的标注。图形编辑工具 条默认情况下是不

12、显示的,通过单击图形窗口中菜单View|Plot Edit Toolbar显示图形编辑工具条。通过图形 编辑工具条可以在图形中插入文字、线条和箭头等,还 可以对标注进行对齐。B It no-M $9. 2. 2图形标题在MATLAB中,可以通过函数title()给图形添加标题,也可 以绘图后通过单击菜Mlnsert|Title来插入标题。图形的 标题位于图形的顶端,默认是居中对齐的。函数title()的 调用格式为:title(fistring5):设置当前图形的标题为字符串。4PropertyName7PropertyValue .):该函数对 标题的属性进行设置,例如采用的字体、字体的大小

13、和 颜色等。9. 2. 2图形标题在进行文字标注时,可以对文字进行控制,常用的设置有:bf:釆用的字体加粗。it:釆用的字体为斜体。rm:釆用标准形式。fontname fontname:设置文字的字体。fontsize fontsize:设置字体的大小。color colorname:对字体的颜色进行设置此外,还可以釆用函数texlabel( MATLAB的表达式转化为Tex格式的字符串,非常方便的在图形中添加希腊字母或数学公式。9. 2. 3坐标轴标题在MATLAB中,可以通过函数xlabel( )lylabel()给图形添 加坐标轴标题,也可以绘图后通过单击菜单 lnsert|XLabe

14、l来插入横轴的标题,单击菜单 lnsert|YLabel来插入纵轴的标题。横轴的标题默认位于横轴的下方中间位置,纵轴的标题默认位于纵轴左方并垂直居中。xlabelfstring5):设置图形横轴的标题为字符串。xlabel(.9 fiPropertyName5PropertyValue55 该函数对横轴标题的属性进行设置,例如釆用的字体、颜色等 函数ylabel()的调用格式和xlabel()完全一样。9.2.4图例图例(Legend)用来标注图形中不同颜色、线型的数据的 实际意义,可以绘图后通过单击菜单InsertlLegend插入 图例,图例的各项文字初始值为datal > data

15、2等。也可 以通过函数legend()对图例进行设置,非常的方便。legendfstringT, 5string2 )或legend 'stringT fistring25:添加图例,啸序给出各个图形的描述。legendCoff)或legend off:清除图例。legendCtoggle,)或legend toggle:在显示和清除间切换。 legendChideJ或legend hide:隐藏图例。legend('show5)或legend show:显示图例 legendCboxoff,)或egend boxoff:隐藏图例的边框。9.2.5颜色条颜色条用于显示图形中颜色

16、和数值的对应关系,方便用户理 解图形,主要用于三维绘图和二维等高线图形中。用户 可以通过单击菜单lnsert|Colorbar显示颜色条,也可以 通过函数colorbar()来添加颜色条。colorbar:该函数为图形添加颜色条,默认在图形外侧的右 部。colorbar(tLocation,):该函数对颜色条的位置设置为字符 $ Location o9. 2.6文本框标注在MATLAB中,可以釆用文本框对图形进行标注。添加文 本框可以通过绘图后单击lnsert|Textbox来添加,也可以 通过函数text( )?Dgtext()来添加。函数text()添加文本框时,需要对文本框放置的位置进行

17、设置,调用格式为text(x,y, fistring5):该函数在二维平面的坐标(x, y)处添加 文本框标注,文本的内容为字符串。text(x,y, z, string5):该函数在三维平面的坐标(x,y5 z)处 添加文本框标注,文本的内容为字符串。text(,'PropertyName5, 'PropertyValue5):该函数在添 加文本框进行标注的同时,对文本的格式进行设置。函数gtext()是交互式的文本标注工具,可以通过鼠标来选择标注文字放置的位置,该函数的调用格式为:gtext(fistring5):该函数通过点击鼠标来确定文本框的位置 ,文本的内容为字符串。

18、gtextfstringT, fistring2该函数在鼠标点击的位置标注多行文本和等,字符串之间采用逗号分割。gtext(fistringT; fistring25; .):该函数通过多次鼠标点击添 加多个文本框,字符串之间釆用分号进行分割。9. 2.7获取和标记数据点在MATLAB中,可以通过函数ginput()和鼠标方便的读取 二维平面上任一点的坐标值,该函数的调用格式为:x5 y=ginput(n):该函数通过鼠标选择个点,它们的坐标 值保存在变量和中,可以通过Ente键结束。x5 y=ginput:该函数通过鼠标选择多个点,坐标值保存在 和中,通过Enter键结束。x, y, but

19、ton=ginput(.):该函数的返回值记录了在用鼠 标选点时的相关信息。9.3特殊图形的绘制在MATLAB中,除了可以通过函数plot()等绘制图形外,还 有一些函数可以绘制特殊的图形,例如柱状图、饼状图 和直方图等。表9 6二维聂殊国形宮用函数A函数4意义4函数口意义4barQ拄状国3fill多边形埴充閨心"barh<水平柱状图Qfeather-羽毛国Q填充EPcornet-彗星EPpi e*3饼状厦Qqui ver-向星场图Qerr obar-图形加上误差范围Qcompass-*3罗盘IPhis 2直方IPr ose*极坐标下的柱状图Qstairs*阶梯EPpaoret

20、 o-Parmto图Qs t enn*3席祗费c onvh-ull Q凸壳1Pcoixtourd等高线銘图Qp oly=ar e a*3数组确定的多边形埴充图a9. 3. 1函数绘图如果只知道某个函数的表达式,也可以绘制将该函数的图形 O函数fplot()用于绘制一元函数的图形,函数ezplot() 用于绘制二元函数的图形,函数ezploar()用于绘制极坐 标图形。下面分别进行介绍。1. 函数fplot()2. 函数ezplot()3. 函数ezpolar()函数ezcontour()和ezcontourf()9.3.2柱状图在MATLAB中,通过函数bar()绘制柱状图,该函数的调用 格式

21、为:bar(y):该函数以y中的值为长度画一个长柱。bar(x5 y):该函数在指定的横坐标x上画出y,参数x为单调 增加的。如果y为矩阵,则将每个行向量画出。bar(.5 width):该函数设置柱的宽度,默认值为0.8。如果 width大于1,则一组内的柱互相重叠。bar(., £styleJ):该函数的参数style定义形状,取值可以为 group或stack, 默认值为group。bar(.5 Par_colo门:该函数定义柱的颜色为bar_coloro9.3.3饼状图在MATLAB中,通过函数pie()绘制饼状图,该函数的调用 格式为:pie(x):该函数以向量来绘制饼状图

22、。如果sum(x)<1,贝!)以 向量x的值为各个分量画饼状图。如果sum(x)>1,则进 行归一化处理。pie(x, explode):该函数中参数explode与x有相同的维数 ,其中非零元素对应的向量x的分量在饼状图中向外突出 一些。pie(,labels):该函数用于定义每个分量的标签,和向量x 有相同的维数。9.3.4直方图在MATLAB中,通过函数hist()绘制直方图,该函数的调用格式为:h=hist(y):该函数将向量y中的元素放到10个柱的直方图中,返回值h为包含每个柱的元素个数组成的向量。如果参 数y为矩阵,则按照矩阵的列来画图。h=hist(y5 m):参数m

23、为标量,用于指定柱的个数。 h=hist(y5 x):该函数中参数x为向量,将参数中的元素放到 length(x)个由x中元素指定的位置为中心的直方图。9.3.5面积图在MATLAB中,通过函数area()绘制面积图,该函数的调用格 式为:area(x5 y):该函数以参数x和y绘制面积图。如果x和y为向量, 贝!I相当于函数plot(x5 y),并将0到y之间进行了填充。如果参 数y为矩阵,则将y的每一列绘制面积图并进行累计求和。area(y):如果参数y为向量,则绘制面积图;如果y为矩阵则绘 制每一列的面积图之和。area(.5 level):该函数绘制到y=leve啲面积图,参数leve

24、l的默 认值为0。9.3.6散点图在MATLAB中,通过函数scatter()绘制散点图,该函数的调 用格式为:111scatter(x5 y5 s5 c):该函数以x和y分别为横坐标和纵坐标,绘制散点,参数S设置散点的大小,参数C设置散点的颜色。scatter(x5 y):该函数以x和y分别为横坐标和纵坐标,绘制散 点,采用系统默认的大小和颜色。scatter,m):该函数设置散点为m,而不是默认的“o”。scatter(,Filed,):该函数将空的散点进行填充。9.3.6散点图在MATLAB中,还可以利用函数plotmatrix()绘制多个散点图该函数的调用格式为plotmatrix(X

25、5 Y):该函数中参数X为pF的矩阵,参数Y为 Np的矩阵,绘制Nm个散点图,其中第(ij)个散点图是根 据矩阵Y的i第列和矩阵X的第j列的数据绘制的。plotmatrix(Y):该函数相当于plotmatrix(Y5 Y),参数的矩阵时,绘制出nF个散点图。该图的对角块画出的是矩 阵Y的每列数据的频数直方图。plotmatrix(., 'LineSpec"):该函数釆用字符串LineSpec设 置曲线的线型和颜色等信息。9.3.7等高线绘图在MATLAB中,通过函数contour()绘制等高线图,函数contourf()绘制经过填充的等高线图。该函数的调用格式为: cont

26、our(z):该函数绘制矩阵z的等高线。contour(x5 y5 z):该函数在坐标(x,y)的值为矩阵z的等高线。contour(z5 n)或contour(x5 y5 z5 n):该函数绘制n条等高线。contour(x5 y5 z5 v v):该函数绘制高度为v的等高线。c, h=contour(.):该函数返回值c和h,可以釆用函数clabel(c5h)对等高线进行标注。9.3.8误差图在MATLAB中,通过函数errorbar()绘制误差图,该函数的 调用格式为:errorbar(y, e):该函数绘制向量y,以及向量y的误差e。 errorbar(x, y, e):该函数中x、y

27、和e为同类型的变量。errorbar(x5 y5 e5 LineSpec):该函数中利用参数LineSpec 来设定线型和颜色等。9.3.9填充图在MATLAB中,通过函数fill()绘制多边形填充图,该函数的调用格式为fill(x5 y5 c):该函数绘制以向量x和y组成的多边形的填充图,参数c用于设定颜色,可以为表示颜色的字符串,例如,、 g,、' b 才等,也可以是RGB色彩向量,例如:匕0,0。如果x和y为相同维数的矩阵,则绘制矩 阵每一列的多边形填充图。fill(x1, y15 c1, x2, y2, c2,):该函数绘制多个多边形填充 图。9.3.10火柴杆图在MATLAB

28、中,通过函数stem()绘制火柴杆图,该函数的 调用格式为:stem(y):该函数绘制向量y的火柴杆图。如果y为矩阵,则 绘制的每一列的火柴杆图。stem(x5 y):该函数绘制横坐标为x的火柴杆图。stem(filled,):该函数将火柴杆进行填充。stem(,TineSpec5):该函数用于设置火柴杆图的线型和 颜色等。9.3.11阶梯图在MATLAB中,通过函数stairs()绘制阶梯图,该函数的调 用格式为:stairs(y):该函数绘制向量y的阶梯图。stairs(x5 y):该函数绘制横坐标为x的阶梯图。9.312罗盘图在MATLAB中,通过函数compass()绘制罗盘图,该函数

29、的调用格式为compass(u5 v):该函数绘制罗盘图,从坐标原点指向坐标 (u5 v)的箭头。compass(z):该函数中z为复数,相当于compass(real(z), imag(z)ocompass(., TineSpec5):该函数利用参数LineSpec来设 定线型和颜色等。9. 3. 13羽毛图在MATLAB中,通过函数feather()绘制羽毛图,该函数的 调用格式为:feather(u, v):该函数绘制向量u和v的羽毛图。feather(z):该函数中z为复数,相当于feather(real(z), imag(z)ofeather(.5 TineSpec5):该函数利用参数LineSpec来设定 线型和颜色等。9.314向量场图在MATLAB中,通过函数quiver()绘制向量场图,该函数 的调用格式为:quiver(x5 y5 u5 v):该函数在坐标(x,y)处绘制向量场图, (u5

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论