好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

第五讲matlab句柄绘图.ppt

46页
  • 卖家[上传人]:大米
  • 文档编号:584760928
  • 上传时间:2024-08-31
  • 文档格式:PPT
  • 文档大小:814KB
  • / 46 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 第五讲 matlab句柄绘图——matlab语言的句柄绘图可以对图形各基本对象进行更为细腻的修饰,可以产生更为复杂的图形,而且为动态图形的制作奠定了基础夹由筷全蕴漾匠沙饯镁釜疼鲸嘲抒余赠婉逛衡凳哑碱熟蓬郴蹈兜瞎尘颂鲁第五讲matlab句柄绘图第五讲matlab句柄绘图 高层绘图与底层绘图的区别•高层绘图函数——是对整个图形进行操作的,图形每一部分的属性都是按缺省方式设置的,充分体现了matlab语言的实用性•底层绘图函数——可以定制图形,对图形的每一部分进行控制,用户可以用来开发用户界面以及各专业的专用图形充分体现了matlab语言的开发性赤厦率架编蕴钨吾抑梢枯案敢够返蓟绰炽怀擦伺赋吞偏崖北凌杆试耳发溜第五讲matlab句柄绘图第五讲matlab句柄绘图 一、什么是句柄图形•句柄图形:利用底层绘图函数,通过对对象属性的设置(Handle Graphics)与操作实现绘图•句柄图形中所有图形操作都是针对图形对象而言的•句柄图形充分体现了面向对象的程序设计聚厩钮哭眉瑶令逆汁溜翻蚜帝辩爆夺漳蝎窗请帜水斩邦鼻爪期筛稀货宗饶第五讲matlab句柄绘图第五讲matlab句柄绘图 •句柄图形的功能v句柄图形可以随意改变matlab生成图形的方式。

      v句柄图形允许你定制图形的许多特性,无论是对图形做一点小改动,还是影响所有图形输出的整体改动v句柄图形的特性高层绘图函数是无法实现的诞钵捌呻泡异菱栗鹊疼穿蠢妥姜余暇谓办氟熊洗镍宛熄悄魂正亥变缴秤则第五讲matlab句柄绘图第五讲matlab句柄绘图 二、图形对象和句柄1.图形对象—— 图形系统中最基本、最底层的单元 引例:x=0:2*pi/180:2*pi;y1=sin(2*x);y2=cos(2*x);plot(x,y1,x,y2)颜碑粟剔卡痒遣润细男浚块产翁扰品惠潮修魁瘦筐道吗此暑鼻妙豆虫压薄第五讲matlab句柄绘图第五讲matlab句柄绘图 父对象子对象图形对象的基本要素以根屏幕为先导图形对象之间的关系为父代与子代的关系窗口1窗口n窗口2界面控制界面菜单轴线面字块像根屏幕钳迸码众详惰咕家阑蕊荣呸弦阐声班宗携匣界盐拿财滞赵郧掩驱饶洒獭纂第五讲matlab句柄绘图第五讲matlab句柄绘图 说明:根:图形对象的根,对应于计算机屏幕,根只有一个,其它所有图形对象都是根的后代图形窗口: 根的子代,窗口的数目不限,所有图形窗口都是根屏幕的子代,除根之外,其它对象则是窗的后代界面控制:图形窗口的子代,创建用户界面控制对象,使得用户可采用鼠标在图形上作功能选择,并返回句柄。

      刨渗成超已焰捎摄螟蒋湾阁豆霸戚灯悄加逃歪恳盅奇奋赡忽贼红跨物劣频第五讲matlab句柄绘图第五讲matlab句柄绘图 界面菜单: 图形窗口的子代,创建用户界面菜单对象 轴:图形窗口的子代,创建轴对象,并返回句柄,线面字块像的父辈线:轴的子代,创建线对象面:轴的子代,创建块对象字:轴的子代,创建字对象块:轴的子代,创建块对象像:轴的子代,创建图像对象舅豆俯谤愤系吴既趁员慷免囱蝶西吼宙惮趋烙靠透触贬谅挺扰旬炙点栅豆第五讲matlab句柄绘图第五讲matlab句柄绘图 窗口对象线对象轴对象鞭猩髓惠愁蛾萤审性拖疾慑凛尿帅著筏禄亥铁途齐勋梢勃呜膀茵癌抓荷闸第五讲matlab句柄绘图第五讲matlab句柄绘图 面对象轴对象像对象块对象线对象文字对象佣锐嚷汝须巍神永作胸幻跃钝罕策司居再碾糟谬味打腐份布陕萄技塔成摊第五讲matlab句柄绘图第五讲matlab句柄绘图 2.创建图形对象的底层函数•figure创建图形窗口调用格式: h=figure(n) n为窗口序号•uicontrol图形界面控制调用格式: h=uicontrol(‘property’,value)property/value确定控制类型励孩瞥寻帜夕枚千绿徘冻刚誉淡吴橇锻巡希捣咆捶请涉舀刮描炒题凑贬扛第五讲matlab句柄绘图第五讲matlab句柄绘图 •uimenu创建用户界面菜单调用格式: h=uimenu(‘property’,value)property/value 确定菜单形式。

      •axes  创建轴对象 h=axes(‘property’, ) 定义轴对象的位置与大小 left, bottom width,height纤英科簧浇幼除肢厩衡陋哑寇漏灾佛佛炉盂就响冻友村汀篙泪厢切设粘蔫第五讲matlab句柄绘图第五讲matlab句柄绘图 •line  创建线对象 h=line(x,y,z)•patch  创建块对象 h=patch(x,y,z,c) x,y,z定义多边形,c确定填充颜色•surface  创建面对象 h=surface(x,y,z,c) x,y,z三维曲面坐标,c颜色矩阵 二维画线 三维画线搐糠彭稿搽赞辙尿逆决驹佬茶婆字刨黄仇刁个衔芹袭往族共掩乐润疯猴吞第五讲matlab句柄绘图第五讲matlab句柄绘图 •image  显示图象 h=image(x); x为图像矩阵•text  标注文字 h=text(x,y,’string’) 每个底层函数只能创建一个图形对象,并将它们置于适当的父辈对象中确定标注位置标注字符串壕居凄蛙攀刁蛛条百来玖梧孜构耸生同就洗拷壁逝醚阮都瓦烈傣漆纽镣摘第五讲matlab句柄绘图第五讲matlab句柄绘图 3.图形对象的属性※ 图形对象是由属性来描述的例如: figure 大小位置 [1 1 640 480] 颜色 [ 0 0 0]  省缺 line a. x, y 数据;b. 线的颜色 c. 线型; d. 线宽媳叼栏错躬剁嗣吠郧雌她糯疤元士抑收蔷胯旷儿晾久副莽丹驹理渗邀健钓第五讲matlab句柄绘图第五讲matlab句柄绘图 ※在高层绘图中对图形对象的描述一般是省缺的或由高层绘图函数自动设置的,因此对用户来说几乎是不透明的。

      ※但句柄绘图中上述图形对象都是用户需要经常使用的,所以要作到心中有数,用句柄设置图形对象的属性官抄萧疮按圭瞥艳烘荣奉帆蛾适帐瓢弦宠骇抠筑鞍嫁核巢特吭颓傈座皋缸第五讲matlab句柄绘图第五讲matlab句柄绘图 •什么是句柄? 句柄是图形对象的标识代码,标识代码含有图形对象的各种必要的属性信息•各图形对象的句柄数据格式: 根屏幕 0 图形窗口 整数,表示图形窗口数 其它对象 对应的符点数4.句柄(handle)与句柄操作搔郑敞静舰刹悉舷诺剧忘胃嗅炯城拷嗡殴谭尽幸鼓栽让废漫嘉堰汇盖通躇第五讲matlab句柄绘图第五讲matlab句柄绘图 • 所有能创建图形对象的matlab函数都可给出所创建图形对象的句柄例:创建1号窗口,返回句柄 h=figure(1) h=1 返回值为窗口号数例:h=lien(1:6,1:6)创建线对象的同时也建立了一个唯一的句柄 变量h是句柄值——符点数煽懒囊霞伊沾推焦猖促张凹闰筑谤诲辆拓倒疫瞬蝶跑蒸钧芥窒胺浆洼齐壶第五讲matlab句柄绘图第五讲matlab句柄绘图 •句柄属性的设置与修改get: 获得句柄图形对象的属性和返回某些 对象的句柄值set: 改变图形对象的属性•专用函数:gcf:当前窗口对象的句柄 Get Current Figuregca:当前轴对象的句柄 Get Current Axes二、图形对象属性的获得与设置浸薛登登摇功盏溅狞如密外夷英括碘贯纲励迭删劝坠欠氓裳挠棱巩烽奴族第五讲matlab句柄绘图第五讲matlab句柄绘图 •操作格式:h=gcf 将当前窗口对象的句柄返回hget(h)或get(gcf) 查阅当前窗口对象的 属性delete(gcf) 删除当前窗口的属性例:h=line(x,y)1.get(h)2.get(get(gca,’children’) 轴的子代泊锨淑淀凳早氦忘炸搔窃矽夹湖牡傣猿永乙观延扔歉缀块掏兜窖嘛疮铆击第五讲matlab句柄绘图第五讲matlab句柄绘图 例:创建一个线对象并返回线对象的句柄值 •h1=line([0:10],[0:10])h1 = 57.0001h1为句柄的代码值舷钨冒同振赚嘲悄曝癌必涯诧徘松憋倪亲擅祖嘘谬赏犹隙经尊胁势呸衫列第五讲matlab句柄绘图第五讲matlab句柄绘图 •查阅线对象的属性名称和属性值get(h1)Color = [1 1 0]EraseMode = normalLineStyle = -LineWidth = [0.5]MarkerSize = [6]Xdata = [ (1 by 11) ]Ydata = [ (1 by 11) ]Zdata = []询壬啤统确还达拓支人蝉掩仪苑芽堤近锻阉与冒溺仍差甥讨威柳肌瓢承窘第五讲matlab句柄绘图第五讲matlab句柄绘图 ButtonDownFcn = Children = []Clipping = onInterruptible = noParent = [56.0001]Type = lineUserData = []Visible = on•根据轴是线对象的父代,可查轴的句柄 get(gca)错援撕拖讽瞩开准建球戎屠哦讹愉她洗呻慎的复亏庇糯肮癣孕艘池人初忍第五讲matlab句柄绘图第五讲matlab句柄绘图 •可查色序get(gca,'colororder')ans = 1 1 0 1 0 1 0 1 1 1 0 0 0 1 0 0 0 1袋幢麓巳盏善奉箕它眼余臣努踏会壕区惜谅戊乔翅一焦慧苇楚剖禹世幂捶第五讲matlab句柄绘图第五讲matlab句柄绘图 •设置线条和窗口的颜色set(h1,'color',[1 0 0])set(h1,'color',[1 0.5 0])绽泄倍评涪蔽瞧练翁袜援关玖汾倘鉴火脱篓功彩驭蜘严壳脾邮检车脏阐呻第五讲matlab句柄绘图第五讲matlab句柄绘图 set(gcf,'color',[0.5 0.5 0.5])set(gcf,'color',[0.5 0.6 0.8])霜风树吾贯任贡珊尼辜医别镍拦氛蔼鞋抉元阉沈洗扬趋擒访屠张怖瑰难泥第五讲matlab句柄绘图第五讲matlab句柄绘图 例:作正弦、余弦曲线,将正弦曲线改为虚线,将余弦曲线幅度减为1/2高度,如何用句柄实现。

      x=0:2*pi/180:2*pi;y1=sin(x);y2=cos(x);plot(x,y1,x,y2,x,zeros(size(x) ),'w:')恃霜嘘酒验漱念搬鞠嗽枯就伏现要宅精啪锻挫洪您所曳加竣漾激荡燥诅沛第五讲matlab句柄绘图第五讲matlab句柄绘图 •首先查询各对象的属性get(gcf)· · ·h=get(gcf,'children')h = 60.0004hh=get(gca,'children')hh = 70.0004 69.0004 68.0004幸汕烩朋矿悔辞戏丛估往黄行耳苹型龟蛋继折靶生殊藻类褪糯棒苟请抛吉第五讲matlab句柄绘图第五讲matlab句柄绘图 •修改属性y11=get(hh(2),'ydata');y22=y11/2;set(hh(2),'ydata',y22)set(hh(3),'linestyle',':')岔纠慧哲溶蕉祭瞳鞘朋泼预胃炸爷橙酚域阶码桐痒与酋梦珐笔陪永皮损嗡第五讲matlab句柄绘图第五讲matlab句柄绘图 ※ 控制一个图形对象是通过句柄实现的,具体是通过句柄操作函数get,set将某对象句柄属性作设置与修改。

      1.对象属性的直接操作 对象属性的直接操作是通过当前句柄来实现的,所以首先要获得当前句柄值以及对象的属性,然后再查询或修改三、对象的属性操作捧遍买稀足堤拧饵胜桥筑跨装座扒臭脚军雾淋瞬醇哗敷敦具耗迷募匣与子第五讲matlab句柄绘图第五讲matlab句柄绘图 get(h)get(h,’ propertyname’)set(h)set(h,’propertyname’,value)set(h,’属性名称’,‘新属性’) ‘color’, ’r’ ‘linestyle’, ’:’ ‘figurecolor’, ’m’矣懈扮韶艳幢白特休拿鳞封貉竞兔烈今皇驴规郡蓑练诉临煮勤椒粳滋磕姨第五讲matlab句柄绘图第五讲matlab句柄绘图 2.对象属性的继承操作•对象属性的继承操作是通过父代对象,设置省缺对象属性来实现的•父代句柄属性中设置省缺值后,所有子代对象均可以继承该属性的省缺值•属性省缺值的描述结构为: Dfault+对象名称+对象属性缸爷缓低狸智站海厌旬勒浙钮晨芥舰返署垦警孪马慎激饮抒陪草十煞讽滇第五讲matlab句柄绘图第五讲matlab句柄绘图 如:DefaultFigureColor —— 图形窗口的颜色 DefaultAxesAspaceRatio —— 轴的视图比率 DefaultLineLineWide —— 线的宽度 DefaultLineColor —— 线的颜色 ※省缺值的获得与设置也是由get,set函数实现的龙稿嗜删坚琐船操挺旅耻猛盯犯迎宗娟酷俗可嚼筐爱庞玻矛介庆络戚古敛第五讲matlab句柄绘图第五讲matlab句柄绘图 例: get(0,'DefaultFigureColor') —— 获得图形 窗口的省缺值 set(h,'DefaultLineColor','r') ——设置线的 颜色为红色例:在图上添加文字注释,颜色为红色 set(gca,'DefaultTextColor',[1 0 0]) gtext('正弦') gtext('余弦')•在轴对象上设置字对象的颜色省缺值为红色•继承该省缺值在图上添加红色的文字注释胎瓶湍员衰辩管立逻否神甲纷跟板根源迭堑镶淳良宛骑辉氛钢篷妄弹耳耳第五讲matlab句柄绘图第五讲matlab句柄绘图 例:在轴对象上(父代对象)设置线的颜色省缺值为红色x=0:2*pi/180:2*pi;y=sin(2*x);set(gca,'DefaultLineColor',[1 0 0]);h=line(x,y)h = 68.0001set(h,'color','default')血绚耐粮椅涂馈伊芭释戚屠驶官齿虐断萝紫筋戴隋训伶惦甸会莱狙镜癸抖第五讲matlab句柄绘图第五讲matlab句柄绘图 例:x=0:2*pi/180:2*pi;y=sin(2*x); h=line(x,y) set(0,'DefaultFigureColor',[0.5 0.5 0.5])—— 将所有新图形窗口的颜色由省缺值黑色设置为适中的灰色罩恩诺鞠诧聚筑乃严禄拈彝彻和东腔翁瞎惨扶淋掏介姑蚌跨觉捅提鸦煮晋第五讲matlab句柄绘图第五讲matlab句柄绘图 set(h,'color','m','linewidth',2,'linestyle','*')?群萍肤拦豌娃揩象酶斜婶兜彭臭霸餐娄冯伙崔础笺秸哎阁词甘弯戳吐幸撼第五讲matlab句柄绘图第五讲matlab句柄绘图 set(0,'defaultfigurecolor','b')set(0,'defaultaxescolor','g') h=line(x,y)set(h,'color','r')set(gca,'xcolor','w')set(gca,'ycolor','w')铺谚孤瘪悲褂伴楚钱唁险立鳖卑铸面笛铅定沧半恕隶憨勇另酵伞绊推俭豫第五讲matlab句柄绘图第五讲matlab句柄绘图 •h=surf(peaks(30))•set(0,'defaultsurfaceedgecolor','w')•set(h,'edgecolor','default')矢诞刹柜曲碎萤瘤砖腥鄙声宇滤悲王酚丧郑哈狙步虽噬洋浑自诺炔鬼烷阉第五讲matlab句柄绘图第五讲matlab句柄绘图 4.其它操作default —— 由父代继承factory —— 厂家设定省缺值remove —— 清除设定省缺值例:set(gca,'defaultlinecolor','remove') set(h,’color’,’factory’)注意:plot,line命令遵循colororder色序对设置省缺值无效,龚椅父烤徽羊财稻磅赂惋择挖泼琐种艰父澡惰魔领柴唇叛骇扩盖盯乌摔扰第五讲matlab句柄绘图第五讲matlab句柄绘图 四、其他功能介绍•菜单函数menu K= MENU(HEADER, ITEM1, ITEM2, ... ) 例: K = nemu('请选择','plot','mesh','surf')氏牢罚严彻它由驱迄回培窟易甭具函盂晋申责砒桐相簇圭涯蔷谬村融资等第五讲matlab句柄绘图第五讲matlab句柄绘图 坝彻驰介彼槽战映绿促序谱德姻痘姚峡撤球泌困江贵彪讶兑皆犬中垫紊如第五讲matlab句柄绘图第五讲matlab句柄绘图 •Guide恰眼篙蓉中锋派礁鸡叉蠢谭贴酣顽腰仑鸥比瞥凶起今扔遏龄倔筛毁踊居训第五讲matlab句柄绘图第五讲matlab句柄绘图 •Uimenu:设计GUI菜单函数 UIMENU('PropertyName1',value1, 'PropertyName2',value2,...)•Uicontrol:用来在图形窗口中建立控件 UICONTROL('PropertyName1', value1,'PropertyName2,'value2,...) 识基萤肤抿赵悟域兼择棘茸旨质呕押土番凄狮擞剐诈萌踏州叁佑茹渍电境第五讲matlab句柄绘图第五讲matlab句柄绘图 5.matlab5属性编辑器Propedit ---- 打开属性编辑器词瑟占汛勃尘轻芳垃着绕刷衅坏出颧黑颠斧铬旭褂呵攒称躯两陪污灰摆疮第五讲matlab句柄绘图第五讲matlab句柄绘图 小 结•熟悉图形对象句柄与句柄操作•掌握图形对象属性的查询与操作•能够任意设置图形对象的属性鸽锹疗蛀翌惨究罕叮券淫在吧灵仙嘿粟初到咨钥债摹鸭乍抒多呛饮劲植啡第五讲matlab句柄绘图第五讲matlab句柄绘图 。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.