数据可视化课件_第1页
数据可视化课件_第2页
数据可视化课件_第3页
数据可视化课件_第4页
数据可视化课件_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

第五章数据可视化教学目标MATLAB7语言除了有强大的矩阵处理功能之外,它的绘图功能也是相当强大的。学习完本章之后,将学会使用MATLAB7的图形处理功能,包括基本的绘图命令、图形的简单控制、图形窗口的编辑以及图形的高级控制等。教学重点基本的绘图命令各种图形注释方法三维图形的绘制方法(1)基本的绘图命令绘制基本线性图的函数表函

名功

述plot在x轴和y轴都按线性比例绘制二维图形plot3在x轴、y轴和z轴都按线性比例绘制三维图形loglog在x轴和y轴按对数比例绘制二维图形semilogx在x轴按对数比例,y轴按线性比例绘制二维图形semilogy在y轴按对数比例,x轴按线性比例绘制二维图形plotyy绘制双y轴图形(2)绘图的一般步骤基本的绘图步骤步

骤典

码1.准备绘图数据x=0:0.2:12;y1=bessel(1,x);2.选择一个窗口并在窗口中给图形定位figure(1),subplot(2,2,1)3.调用基本的绘图函数h=plot(x,y1,x,y2,x,y3);4.选择线型和标记特性set(h,'LineWidth',2,{'LineStyle'},{'--';':';'-.'})5.设置坐标轴的极限值、标记符号和网格线axis([012-0.51])6.使用坐标轴标签、图例和文本对图形进行注释xlabel('Time')ylabel('Amplitude')7.输出图形print-depsc-tiff-r200myplotplot命令格式:1.plot(y)2.ploy(x,y)3.plot(x1,y1,x2,y2,…)plot命令ploy(x,y)

当y和x为同维向量,则以x为横坐标、y为纵坐标绘制连线图。若x为向量,y是有一维和x同维的矩阵,则绘制多条不同颜色的连线图,曲线的个数等于矩阵的另一维,x作为这些曲线的共同横坐标。若x为矩阵,y为向量,情况与上面相同,只是都是以y为共同的纵坐标。若x和y为同维实数矩阵,则以x、y对应列元素为横纵坐标分别绘制曲线,曲线条数等于矩阵的列数。若x和y为复数矩阵时,MATLAB将忽略虚数部分。plot命令plot(x1,y1,x2,y2,…)

每对x、y必须符合plot(x,y)中的要求,不同对之间没有影响,命令将对每一对x,y绘制曲线。【注意】以上的三种格式中,输入参数x,y都可以是表达式,但表达式的结果应符合上述格式要求。plot函数的控制

绘图属性在调用函数plot时,可以指定线型、颜色和数据点的图标,其调用格式为:plot(x,y,‘color_linestyle_marker’)说明:参数color_linestyle_marker为一个字符串,由颜色、线型、数据点的图标组成多个图形的绘制方法subplot函数可以实现多个图形的绘制:>>x=0:.1:20;>>subplot(2,2,1)>>plot(x,sin(x));>>subplot(m,n,p)

将当前图形窗口分为m行n列个子窗口,并指定第p个子窗口为当前的绘图子窗口。子窗口序号p是按照行优先的次序排列的,这点和矩阵是不同的。如果不存在当前绘图窗口,则先创建一个新的绘图窗口,然后再划分子窗口。多个图形的绘制方法>>x=0:.1:20;>>subplot(2,2,2)>>plot(x,cos(x));>>多个图形的绘制方法>>subplot(2,2,3)>>x=0:.1:2;>>y1=tan(x);>>plot(x,y1,'--b*');>>(1)图题的标注在MATLAB中,通常可以使用3种方式给图形添加图题:使用Insert菜单中的Title命令;使用属性编辑器(PropertyEditor);使用title函数。图题的标注>>x=0:.1:2;>>y1=sin(x);>>y2=sin(x-0.25);>>y3=sin(x-0.5);>>plot(x,y1,'-.b',x,y2,'--r*',x,y3,'-.gh')>>title('Therethreelines')>>(2)坐标轴的标签在MATLAB7中,可以使用如下3种方式给图形的坐标轴添加标签:使用Insert菜单下的Label选项;使用属性编辑器(PropertyEditor);使用MATLAB7的添加标签命令;xlable('string','FontSize',size) 显示横坐标轴的名称ylable('string','FontSize',size) 显示纵坐标轴的名称其中‘FontSize’表示字体尺寸属性,size为使用的字体尺寸,这2个输入变量可以省略,此时使用默认的字体显示标注信息。文本标注举例>>x=linspace(-3,5,100);>>y=cos(x);>>z=sin(x);>>plot(x,y,x,z)>>title('一条正弦曲线和一条余弦曲线')>>xlabel('x的取值范围')>>ylabel('Y和Z的值')>>(4)图例的添加为了更好地区分所绘制的多条曲线,可以使用图例加以说明,对它们表示的数据进行更准确的区分。可以使用如下3种方法生成图例:打开Insert菜单中并选择Legend命令;单击工具栏中的legend图标;使用legend函数。图例的添加举例坐标网格的添加举例>>x=linspace(-5,5,100);>>y=x.^4+22*x.^2-6*x+10;>>plot(x,y)>>gridon>>(6)坐标控制可以控制坐标轴的各种属性,包括坐标轴的方向、范围、高宽比等。下面的指令是常用的坐标轴控制指令。axisauto 使用默认的坐标轴属性axison 显示坐标轴背景axisoff 取消坐标轴背景axis([xmin,xmax,ymin,ymax]) 设定x和y轴的坐标值范围axisequal 横轴和纵轴的单位刻度相同axissquare 横纵和纵轴的长度相同axistight 把数据范围直接设置为坐标值范围axisimage 采用相同的单位刻度,且坐标框紧贴数据范围(1)三维线图指令plot3>>%该程序用于绘制三维的螺旋曲线图>>t=0:pi/50:20*pi;>>plot3(sin(t),cos(2*t),sin(t)+cos(t))(2)三维网线图使用mesh函数来绘制三维网格图形:>>z=peaks(50);>>mesh(z);>>(3)三维曲面图可是使用surf函数来绘制三维表面图形:>>[X,Y]=meshgrid([-4:0.2:4]);>>Z=exp(-0.5*(X.^2-Y.^2));>>surf(X,Y,Z)>>4.特殊图形的绘制条形图和面积图(BarandAreaGraphs)饼形图(PieCharts)离散型数据图方向和速度矢量图形等高线的绘制(ContourPlots)(1)条形图和面积图条形图和面积图用于绘制向量和矩阵数据,这两种图形可以用来比较不同组数据的在总体数据中所占的比例,其中条形图适于表现离散型数据,而面积图适于表现连续型数据。函

数功

述bar绘制矩阵Y(m×n)各列的垂直条形图,各条以垂直方向显示barh绘制矩阵Y(m×n)各列的垂直条形图,各条以水平方式显示bar3绘制矩阵Y(m×n)各列的三维垂直条形图,条以垂直方向显示bar3h绘制矩阵Y(m×n)各列的三维垂直条形图,各条以水平方式显示area绘制向量的堆栈面积图条形图举例集合式条形图的绘制>>y=[12345678910]>>bar(y)(2)饼形图在统计学中,人们经常要用到饼形图来表示各个统计量占总量的份额,饼形图可以显示向量或矩阵中的元素占所有元素总和的百分比,MATLAB提供了pie函数和pie3函数,分别用于绘制二维饼形图和三维饼形图。(3)离散型数据图MATLAB7提供了一系列适于表现离散型数据的函数。其中常用的主要有stem函数、stem3函数和stairs函数。离散型数据图举例使用stem(y)函数来绘制句柄状图形。>>y=rand(20,1);>>stem(y)>>(4)方向和速度矢量图形MATLAB7提供了一些函数用于绘制方向矢量和速度矢量图形,这些函数有compass、feather、quiver和quiver3。函

数功

述compass显示极坐标图形中的极点发散出来的矢量图feather显示从一条水平线上均匀间隔的点所发散出来的矢量图quiver显示由(u,v)矢量特定的二维矢量图

quiver3显示由(u,v,w)矢量特定的三维矢量图方向和速度矢量图形举例用compass函数绘制矢量图形:>>w=0:0.1:6;>>z=sin(w).*exp(j*w);>>compase(z)>>(5)等高线的绘制等高线函数为创建、显示并标注由一个或多个矩阵确定的等值线。函

名功

述clabel使用等值矩阵生成标注,并将标注显示在当前图形contour显示矩阵Z的二维等高线图contour3显示矩阵Z的三维等高线图contourf显示矩阵Z的二维等高线图,并在各等高线之间用实体颜色填充contourc用于计算由其他等高线函数调用的等值矩阵meshc创建一个与二维等高线图匹配的网线图surfc创建一个与二维等高线图匹配的曲面图等高线的绘制举例使用contour函数绘制等高线图形:>>[x,y,z]=peaks;>>contour(x,y,z)>>5.图形的高级控制视点控制和图形的旋转颜色的使用颜色映像理解颜色映像使用颜色映像显示颜色映像的建立和修改光照控制(1)视点控制和图形的旋转为了使图形的效果更逼真,有时需要从不同的角度观看图形,MATLAB7语言提供了view、viewmtx和rotate3d等3个命令进行操作。用户可以在命令窗口中调用这3个函数。其中,view函数主要是从不同的角度观察图形;viewmtx给出指定视角的正交转换矩阵;而rotate3d函数可以让用户方便地用鼠标来适时旋转视图。视点控制举例view函数的使用:>>[X,Y]=meshgrid([-5:0.2:5]);>>Z=exp(0.5*(X.^2-Y.^2));>>surf(X,Y,Z)>>view(30,60)>>(2)颜色的使用颜色映像理解MATLAB7有一个叫颜色映像的数据结构来代表颜色值。颜色映像定义为一个有3列和若干行的矩阵。利用0到1之间的数,矩阵的每一行都代表了一种色彩。任一行的数字都指定了一个RGB值,即红、黄、蓝3种颜色的强度,形成一种特定的颜色。颜色映像理解1Red(红)Green(绿)Blue(蓝)颜

色000黑111白100红010绿001蓝110黄101洋红011青蓝2/301天蓝11/20橘黄0.500深红0.50.50.5灰色颜色映像理解2函

数功

述hsv色彩饱和值(以红色开始和结束)hot从黑到红到黄到白cool青蓝和洋红的色度pink粉红的彩色度gray线性灰度bone带一点蓝色的灰度jethsv的一种变形(以蓝色开始和结束)copper线性铜色度prim三棱镜,交替为红色、橘黄色、黄色、绿色和天蓝色flag交替为红色、白色、蓝色和黑色颜色映像使用句colormap(M)将矩阵M作为当前图形窗口所用的颜色映像。例如,colormap(cool)装入了一个有64个输入项的cool颜色映像。colormapdefault装入了默认的颜色映像(hsv)。函数plot、plot3、contour和contour3不使用颜色映像,它们使用列在plot颜色和线形表中的颜色。而大多数其他绘图函数,比如mesh、surf、fill、pcolor和它们的各种变形函数,使用当前的颜色映像。颜色映像显示可以用多种途径来显示一个颜色映像。其中一个方法是观察颜色映像矩阵的元素:>>hot(8)ans=0.3333000.6667001.0000001.00000.333301.00000.666701.00001.000001.00001.00000.50001.00001.00001.0000>>颜色映像的建立和修改颜色映像就是矩阵,意味着你可以象其他数组那样对它们进行操作。函数brighten就利用这一点通过调整一个给定的颜色映像来增加或减少暗色的强度。用户可以通过生成m×3的矩阵mamap来建立自己的颜色映像,并用colormap(mymap)来安装它。颜色映像矩阵的每一个值都必须在0和1之间。如果企图用大于或小于3列的矩阵或者包含着比0小比1大的任意值,函数colormap会提示一个错误然后退出。光照控制MATLAB7语言提供了许多函数在图形中进行对光源的定位并改变光照对象的特征

温馨提示

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

评论

0/150

提交评论