340 likes | 546 Views
Matlab 计算与仿真技术 第十讲 : Matlab 绘图 -III http://human-robot.sysu.edu.cn/course. 王国利. http://human-robot.sysu.edu.cn. 信息科学与技术学院. 中山大学. 第十讲提纲. Matlab 绘图 -III - 图形数据的挖掘 - 添加标注 - 其他绘图方式 - 特殊图形绘制 - 图形打印和导出. Matlab 绘图 -III. 图形数据的挖掘 - 基本概述 功能 : 进一步增强图形的可视化
E N D
Matlab计算与仿真技术 第十讲: Matlab绘图-III http://human-robot.sysu.edu.cn/course 王国利 http://human-robot.sysu.edu.cn 信息科学与技术学院 中山大学
第十讲提纲 • Matlab绘图-III - 图形数据的挖掘 - 添加标注 - 其他绘图方式 - 特殊图形绘制 - 图形打印和导出
Matlab绘图-III • 图形数据的挖掘 - 基本概述 功能: 进一步增强图形的可视化 方式: 交互的工具替代复杂命令 再生: 利用M代码重够绘图程序 - 工具分类 光标定位/缩放/视角调整
Matlab绘图 (续) • 光标定位 - 主要功能 捕捉数据 执行插值 截取数据 - 启动方式 工具栏数据光标图标 标注与数据框(显示距光标处最近图形数据)
Matlab绘图 (续) - 操作方式 移动光标标注 定位图形数据框 增加/删除标注 导出图形数据到工作空间 - 其他选项 数据点/窗口内模式 数据点/鼠标模式
Matlab绘图 (续) - 导出数据的结构和使用 数据结构: Target Position DataIndex >> cursor_info.position ans = 0.4189 0.1746 0
Matlab绘图 (续) • 图形的缩放操作 - 2D图形的缩放模式 整体缩放:工具栏缩放图标 ALT+Click 局部缩放: 选取缩放的区域 限制缩放:限定水平或垂直缩放 - 3D图形的缩放 光标移动:上右(放大)/下左(缩小)
Matlab绘图 (续) • 图形视角调整 - 滑动窗口(panning tool) 与局部缩放功能结合 滑动改变缩放的区域 - 视角调整(3D rotation tool) 预定的视角/连续模式(框架) 固定比例/拉伸模式
Matlab绘图 (续) • 分析图形数据 - 基本曲线拟合 (虚拟重采样) 工具栏basic fitting 从下拉菜单中选区数据插值方式
Matlab绘图 (续) - 图形数据的统计图 功能:计算图形数据的统计量 并添加统计量图 工具栏Data Statistics
Matlab绘图 (续) • 添加标注 - 标注分类 图形基元:线段、椭园、矩形、箭头 文本基元: 文本框、数据注解、联想 修饰基元: 坐标轴注解及标题注解 - 打开图形编辑工具条 菜单 View Plot Edit Toolbar
Matlab绘图 (续) 菜单 View Figure Palette 菜单Insert …
Matlab绘图 (续) - 选择特定区域的标注 矩形/椭圆工具定义局部区域 复制/剪切/删除 其他…
Matlab绘图 (续) - 标注对准 菜单 tools align…
Matlab绘图 (续) • 其它绘图方式 - 命令格式 plot: 2D曲线绘图 plot3: 3D曲线绘图 loglog:对数坐标绘图 semilogx: 横对数坐标图 semilogy: 纵对数坐标图 plotyy: 双纵坐标图
Matlab绘图 (续) - 矩阵变量绘图 plot(Y):每列对应一条曲线 plot(x,Y): x与Y的相容向量绘图 plot(X,y):X与y相容的向量同y绘图 plot(X,Y):对应的列向量图 >> y = 1:length(peaks); >> plot(peaks,y) 注解:按行方式绘图
Matlab绘图 (续) - 虚数/复数数据绘图 plot(Z) 等价于plot(real(Z),imag(Z)) - 两纵坐标轴绘图 >> t=0:900; A=1000; a=0.005; b=0.005; >> z1=A*exp(-a*t); >> z2=sin(b*t); >> [haxes,hline1,hline2] = … plotyy(t,z1,t,z2,'semilogy','plot');
Matlab绘图 (续) • 特殊图形绘图 - 条图/面积图 bar/bar3: 2D/3D纵向条图 barh/bar3h: 2D/3D横向条图 >>Y = [5 2 1; 8 7 3; 9 8 6; 5 5 5; 4 3 2]; >> bar(Y) 或者 >> bar3(Y)
Matlab绘图 (续) >> area(Y)
Matlab绘图 (续) >> area(Y)
Matlab绘图 (续) - 饼状图 pie/pie3: 2D/3D饼状图 >> X= [19.3 22.1 51.6; 34.2 70.3 82.4; 61.4 82.9 90.8; 50.5 54.9 59.1; 29.4 36.3 47.0]; >> x=sum(X); >> explode = zeros(size(x)); >> [c,offset] = max(x); >> explode(offset) = 1;
Matlab绘图 (续) >> pie(x,eplore)
Matlab绘图 (续) - 直方图 hist: 直角坐标直方图 rose:极坐标直方图 >>yn = randn(10000,1); >> hist(yn) >> wdir = [45 90 90 45 360 335 360 270 335 270 335 335]; >> wdir = wdir * pi/180; >> rose(wdir)
Matlab绘图 (续) - 离散数据图 stem/stem3: 2D/3D离散数据图 stairs:阶梯数据图 >>alpha=.02; beta=.5; t=0:4:200; >> y=exp(-alpha*t).*cos(beta*t); >> stem(t,y) 或者 >> stem(t,y,'--sr','fill')
Matlab绘图 (续) >> alpha = 0.01; >> beta = 0.5; >> t = 0:10; >> f = exp(-alpha*t).*sin(beta*t); >>stairs(t,f) >> hold on >> plot(t,f,'--*') >> hold off
Matlab绘图 (续) - 方向/速度图 compass: 罗盘图 feather:羽毛图 quiver/quiver3: 2D/3D速度场图 >>wdir=[45 90 90 45 360 335 360 270 335 270 335 335]; >> knots=[6 6 8 6 3 9 6 8 9 10 14 12]; >> wdir=wdir*pi/180; >> [x,y]=pol2cart(rdir,knots); >> compass(x,y)
Matlab绘图 (续) >> theta=90:-10:0; >> r=ones(size(theta)); >> [u,v]=pol2cart(theta*pi/180,r*10); >> feather(u,v);
结束语 第十一讲预告: MATLAB绘图-IV (2007年11月26日)