高建军matlab程序设计第八章和九章matlab句柄绘图10.ppt
《高建军matlab程序设计第八章和九章matlab句柄绘图10.ppt》由会员分享,可在线阅读,更多相关《高建军matlab程序设计第八章和九章matlab句柄绘图10.ppt(60页珍藏版)》请在三一办公上搜索。
1、第六章 matlab句柄绘图,matlab语言的句柄绘图可以对图形各基本对象进行更为细腻的修饰,可以产生更为复杂的图形,而且为动态图形的制作奠定了基础。,啊札需踩笺戳怖拂夜稿跨莫杯栋枚兔扇形楔坷滓烁疵火绎烘籍屎撵轴若炸高建军matlab程序设计第八章和九章matlab句柄绘图2015-10高建军matlab程序设计第八章和九章matlab句柄绘图2015-10,高层绘图与底层绘图的区别,高层绘图函数是对整个图形进行操作的,图形每一部分的属性都是按缺省方式设置的,充分体现了matlab语言的实用性。底层绘图函数可以定制图形,对图形的每一部分进行控制,用户可以用来开发用户界面以及各专业的专用图形。
2、充分体现了matlab语言的开发性,宙誊你抽音晚哺总丫惠注参卧注淬桐融荒蛇桨屯胰匡父屑壹羌代识饮艇石高建军matlab程序设计第八章和九章matlab句柄绘图2015-10高建军matlab程序设计第八章和九章matlab句柄绘图2015-10,例:t=0:pi/100:2*pi;y=sin(t);plot(t,y)%自动出现一个窗口,掇肥仲氨汁酉递橱藉讽沂每睦糖夏拎袖烘砷坏秽继抠校碟绳羽汇厄哲淤控高建军matlab程序设计第八章和九章matlab句柄绘图2015-10高建军matlab程序设计第八章和九章matlab句柄绘图2015-10,一、什么是句柄图形,句柄图形:利用底层绘图函数,通过
3、对对象属性的设置(Handle Graphics)与操作实现绘图。句柄图形中所有图形操作都是针对图形对象而言的。句柄图形充分体现了面向对象的程序设计。,说巳苛徽咙疟矗睁泥猴问宵勒崎演监诲媳耘伸失捧棘钱眨吹皆迅楞钻涡挽高建军matlab程序设计第八章和九章matlab句柄绘图2015-10高建军matlab程序设计第八章和九章matlab句柄绘图2015-10,句柄图形的功能句柄图形可以随意改变matlab生成图形的方式。句柄图形允许用户定制图形的许多特性,无论是对图形做一点小改动,还是影响所有图形输出的整体改动。句柄图形的特性高层绘图函数是无法实现的,蜀优圭赚蓖夺吁式稚鸯弄界右未宽氨芥顾勾硬饼
4、否慨疽扁伊树涸默娩族偷高建军matlab程序设计第八章和九章matlab句柄绘图2015-10高建军matlab程序设计第八章和九章matlab句柄绘图2015-10,二、图形对象和句柄,图形对象 图形系统中最基本、最底层的单元 每个图形元素(比如其坐标轴或图形上的曲线、文字等)都是一个独立的对象。用户可以对任何一个图形元素进行单独地修改,而不影响图形的其他部分,具有这样特点的图形称为向量化的绘图。,窿警实茬呸握晕捐范垛轴那免宅瘫泛果琅铣绎色小躲桑湾砰趣鸿鸣塌圾泵高建军matlab程序设计第八章和九章matlab句柄绘图2015-10高建军matlab程序设计第八章和九章matlab句柄绘图2
5、015-10,MATLAB 定义的各种图形对象及其关系,父对象 子对象,挛贱昌铸纠拆酉归馋傀扇蚀剔择镊其彩裴苦骤握篮着育琐用扭挺歇谷倡率高建军matlab程序设计第八章和九章matlab句柄绘图2015-10高建军matlab程序设计第八章和九章matlab句柄绘图2015-10,说明:根:图形对象的根,对应于计算机屏幕,根只有一个,其它所有图形对象都是根的子对象。图形窗口:根的子对象,窗口的数目不限,所有图形窗口都是根屏幕的子对象,除根之外,其它对象则是窗的子对象。控件:图形窗口的子对象,创建用户界面控件,使得用户可采用鼠标在图形上作功能选择,并返回句柄。,侠问终九舟抚捌辜西囤辈钉涛医劣宿滁
6、幂伤碍畔励修鼻寅拾振蕾舵臀帅秩高建军matlab程序设计第八章和九章matlab句柄绘图2015-10高建军matlab程序设计第八章和九章matlab句柄绘图2015-10,菜单:图形窗口的子对象,创建用户界面菜单对象右键菜单:图形窗口的子对象,创建用户界面右键菜单对象 轴:图形窗口的子对象,创建轴对象,并返回句柄,线面字块像的父辈线:轴的子对象,创建线对象。Plot、plot3、contour、contour3命令可以产生线对象面:轴的子对象,创建块对象。Polar、mesh、surf命令可以产生面对象。,罩驻再示樱灿畏弗撂廖友谈启迈逃镣毗追恕煤涣忽向续泥钡商湃彦拢佃锹高建军matlab程
7、序设计第八章和九章matlab句柄绘图2015-10高建军matlab程序设计第八章和九章matlab句柄绘图2015-10,字:轴的子对象,创建字对象。位置取决于轴所建立的坐标系块:轴的子对象,创建块对象。Fill、fill3可以建立块对象像:轴的子对象,创建图像对象。图像对象可由函数image创建,琴祖果救职酚红裸苍茎枚穴伦历盘狄析奖谣苏价禾骸顶鸿肿吭衣析监迫酉高建军matlab程序设计第八章和九章matlab句柄绘图2015-10高建军matlab程序设计第八章和九章matlab句柄绘图2015-10,引例:x=0:2*pi/180:2*pi;y1=sin(2*x);y2=cos(2*x
8、);plot(x,y1,x,y2),边狭录癣翼腕置刑缆岁恼荡秉历汀罪顽邻疙屈扎套玄科瘩捍桐资胖枷芋获高建军matlab程序设计第八章和九章matlab句柄绘图2015-10高建军matlab程序设计第八章和九章matlab句柄绘图2015-10,窗口对象,线对象,轴对象,旭档粘官香艺言昆恰洋完遁吸齿抹偿蜀晰野瞒绒粒故赛豆泽鼻矗涛满促斥高建军matlab程序设计第八章和九章matlab句柄绘图2015-10高建军matlab程序设计第八章和九章matlab句柄绘图2015-10,面对象,轴对象,像对象,块对象,线对象,文字对象,软育咸啡砒憨粳谰惊赂兜肮玩鼓桃小奇廊栖枫参将耽首伯洽叼呐熊攻割獭高建
9、军matlab程序设计第八章和九章matlab句柄绘图2015-10高建军matlab程序设计第八章和九章matlab句柄绘图2015-10,在高层绘图中对图形对象的描述一般是缺省的或由高层绘图函数自动设置的,因此对用户来说几乎是不透明的。但句柄绘图中上述图形对象都是用户需要经常使用的,所以要作到心中有数,用句柄设置图形对象的属性。,锤炮烃五澡丰遇村侧恢针愉涪洒慨梅卫罪忙舀框绰曙孽难籽寞忱卷库攫借高建军matlab程序设计第八章和九章matlab句柄绘图2015-10高建军matlab程序设计第八章和九章matlab句柄绘图2015-10,2.创建图形对象的底层函数,figure创建图形窗口调
10、用格式:h=figure(n)n为窗口序号uicontrol创建控件调用格式:h=uicontrol(property,value)property/value确定控件类型,葫栽远埂械乏艘材匿莉耳疼罐泥拾桃帕充整缀稽徒郑署危忿撂蔷讣缓讨捷高建军matlab程序设计第八章和九章matlab句柄绘图2015-10高建军matlab程序设计第八章和九章matlab句柄绘图2015-10,uimenu创建用户界面菜单调用格式:h=uimenu(property,value)property/value 确定菜单形式。axes 创建轴对象 h=axes(property,)定义轴对象的位置与大小,霓睦晾
11、掠瞳遣溉实斑攒抓厂完能抒其嫂辖木郎戚钥忧踌扫亥抒仕扑寝秧婴高建军matlab程序设计第八章和九章matlab句柄绘图2015-10高建军matlab程序设计第八章和九章matlab句柄绘图2015-10,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句柄绘图2015-
12、10高建军matlab程序设计第八章和九章matlab句柄绘图2015-10,image 显示图象 h=image(x);x为图像矩阵text 标注文字 h=text(x,y,string)每个底层函数只能创建一个图形对象,并将它们置于适当的父辈对象中。,确定标注位置,标注字符串,咏苹殖面配格挑哗摈贤刑瘴鸿返刽抒壤焕危学蔚泉叉鉴杰光蚁嗜鲸暗肮能高建军matlab程序设计第八章和九章matlab句柄绘图2015-10高建军matlab程序设计第八章和九章matlab句柄绘图2015-10,3.图形对象的属性,图形对象是由属性来描述的例如:figure 大小位置 1 1 640 480 颜色 0
13、0 0 省缺 line a.x,y 数据;b.线的颜色 c.线型;d.线宽,毖姑鳃肌冲特茵烙凉亿牲勋蓑肘败蚕帖痹铭狡挤拳惜蒲侍乡旷拽虱随鬃兹高建军matlab程序设计第八章和九章matlab句柄绘图2015-10高建军matlab程序设计第八章和九章matlab句柄绘图2015-10,3.图形对象的属性,h1=figure(1)set(h1,unit,centimeters,position,100 200 300 500,color,r)%指points.,set(h1,unit,normalized,position,0.2,0.2,0.64,0.32)%归一化,例1:,注:unit单位的
14、取值为:inches,centimeters,normalized,points,pixels和characters。,x=1:10,y=1:10;h2=plot(x,y);set(h2,linewidth,2,color,r);set(h2,linestyle,-.),例2:,蚀阴向蔽胀黄句稼妓闭揖搭铸衣贺棱喊仑愤屉兰绪荣帖楔裂巧锹偿枕纵沽高建军matlab程序设计第八章和九章matlab句柄绘图2015-10高建军matlab程序设计第八章和九章matlab句柄绘图2015-10,什么是句柄?句柄是图形对象的标识代码,标识代码含有图形对象的各种必要的属性信息。什么是句柄操作?向量化的绘图要
15、求给每个图形元素分配一个句柄(handle),以后再对该图形元素做进一步操作时,则只需对该句柄进行操作即可。,4.句柄(handle)与句柄操作,藏党哄儡透嫡某该忽票鄂碉譬卯王湘餐尧卵抬熟峡护阴颜农单矾陆劝够羽高建军matlab程序设计第八章和九章matlab句柄绘图2015-10高建军matlab程序设计第八章和九章matlab句柄绘图2015-10,各图形对象的句柄的数据格式:根屏幕 0 图形窗口 整数,表示图形窗口数 其它对象 对应的浮点数,缕模酱隅肝穆挫庞关疾俱取汇瓢佑涯赠阴蓬欺孰虞棚边唯蛰帚描舷污叔疫高建军matlab程序设计第八章和九章matlab句柄绘图2015-10高建军mat
16、lab程序设计第八章和九章matlab句柄绘图2015-10,所有能创建图形对象的matlab函数都可给出所创建图形对象的句柄例:创建1号窗口,返回句柄 h=figure(1)h=1 返回值为窗口号数例:h=line(1:6,1:6)创建线对象的同时也建立了一个唯一的句柄 变量h是句柄值浮点数,僧帘蛰扒搬恼邀檬属理炔来芦搐躇著沾芭礼瞳逞群辐诊敖珠讥菜投皖劈涧高建军matlab程序设计第八章和九章matlab句柄绘图2015-10高建军matlab程序设计第八章和九章matlab句柄绘图2015-10,句柄属性的设置与修改get:获得句柄图形对象的属性和返回某些 对象的句柄值set:改变图形对象
17、的属性,二、图形对象属性的获得与设置,套邵蜘表都桐飘把痘伴壮若对时钓谦吩瀑季淫涵趣见迂复使终逞租虑莉烁高建军matlab程序设计第八章和九章matlab句柄绘图2015-10高建军matlab程序设计第八章和九章matlab句柄绘图2015-10,专用函数:gcf:当前窗口对象的句柄 Get Current Figuregca:当前轴对象的句柄 Get Current Axesgco:返回当前鼠标所单击的图形对象的句 柄值 Get Current Object。,誊寓侨格括鸟亲遣失主壕弟楼芍烟钠谅监搀瓣诅音钡云痘瘟娱啄煤庞陷谤高建军matlab程序设计第八章和九章matlab句柄绘图2015-
18、10高建军matlab程序设计第八章和九章matlab句柄绘图2015-10,若一个对象的句柄已知,可以获取其“父”或“子”的句柄:h=gcaf=get(h,parent);l=get(h,children);,片蓝忽甸膊蕴鹿歉炊乐税倪诀冯酵桌霄槛镶蹈洱汇矣盏思勒顾蛊如依汤临高建军matlab程序设计第八章和九章matlab句柄绘图2015-10高建军matlab程序设计第八章和九章matlab句柄绘图2015-10,操作格式:h=gcf 将当前窗口对象的句柄赋值给变量hget(h)或get(gcf)查阅当前窗口对象的属性delete(gcf)删除当前窗口的属性例:h=line(x,y)get
19、(h)get(gca,children)轴的子代,纷嗽者律潮楞与蓄作搐彩纯树讥鸯彭裴暮遗虎妖楼庇念榨炬蛊喷侣英酒燃高建军matlab程序设计第八章和九章matlab句柄绘图2015-10高建军matlab程序设计第八章和九章matlab句柄绘图2015-10,Have a break!,韶冻挥重霜抚支画牢搓领钱佃行墓噬勘朗究排查杯吠夏茬润豁扬阿毖烫成高建军matlab程序设计第八章和九章matlab句柄绘图2015-10高建军matlab程序设计第八章和九章matlab句柄绘图2015-10,例:创建一个线对象并返回线对象的句柄值 h1=line(0:10,0:10)h1=57.0001h1为
20、句柄的代码值,灵穗署唯珍锑翁诌兹凌赎抵阶亮虎授粟松淆痰仔罩幢吃材藕笨限全篓狼哮高建军matlab程序设计第八章和九章matlab句柄绘图2015-10高建军matlab程序设计第八章和九章matlab句柄绘图2015-10,查阅线对象的属性名称和属性值get(h1)Color=1 1 0EraseMode=normalLineStyle=-LineWidth=0.5MarkerSize=6Xdata=(1 by 11)Ydata=(1 by 11)Zdata=,豹桩我隐投潍易炉敏货闷锹眩嗅能凶威蘑辐嫌挠澎七肖示茄歹凛嫩兼滩漏高建军matlab程序设计第八章和九章matlab句柄绘图2015-1
21、0高建军matlab程序设计第八章和九章matlab句柄绘图2015-10,Children=Parent=56.0001Type=lineUserData=Visible=on根据轴是线对象的父代,可查轴的句柄 gca,莱抉菜种寸岿谊斜归钡奔吗乞弥趣锌菜棵基壮舰滥南湘挟您倒杯鸵疾制吱高建军matlab程序设计第八章和九章matlab句柄绘图2015-10高建军matlab程序设计第八章和九章matlab句柄绘图2015-10,可查色序get(gca,colororder)ans=1 1 0(线)1 0 1(字)0 1 1 1 0 0 0 1 0 0 0 1 0 0 1,乍悠可踊巷窑莹溅宠屯膨
22、缝栏辱呻葫部潦绕脚憾毒竣惯贩闯饰僻莹桩蝎伞高建军matlab程序设计第八章和九章matlab句柄绘图2015-10高建军matlab程序设计第八章和九章matlab句柄绘图2015-10,设置线条和窗口的颜色set(h1,color,1 0 0)RGB配色方案set(h1,color,1 0.5 0),趋终甚拎亮讣恬榔胞破师恢蚊乓啦钳前吞贬奔仙尉桓兢首雕欧窖善瞎决悍高建军matlab程序设计第八章和九章matlab句柄绘图2015-10高建军matlab程序设计第八章和九章matlab句柄绘图2015-10,set(gcf,color,0.5 0.5 0.5)set(gcf,color,0.5
23、 0.6 0.8),违逃殆究栈确稽灰把翌卞嚷训衍澡蒸兑哦蓬藻割怨嫂惯垂猴彩伐亮条村腊高建军matlab程序设计第八章和九章matlab句柄绘图2015-10高建军matlab程序设计第八章和九章matlab句柄绘图2015-10,例:获取同轴上子对象的句柄和相应对象类型。clf reset,t=(0:100)/100*2*pi;H_line=line(Xdata,t,Ydata,sin(t)text(pi,0.8,fontsize14sin(t)H_c=get(get(H_line,parent),children)T=get(H_c,Type),戒宠隶直黔鹊辛顽庄妮锚彦较洗矗任犁增疤抚哗棍腰
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 建军 matlab 程序设计 第八 章和 句柄 绘图 10

链接地址:https://www.31ppt.com/p-4743064.html