MATLAB图形句柄

合集下载

matlab handles用法

matlab handles用法

matlab handles用法MATLAB 图形用户界面 (GUI) 的一个重要组成部分是 handles 句柄。

在 GUI 设计中,handles 句柄可以用于访问和修改 GUI 界面中的各种元素,包括按钮、文本框、列表框、图像等。

本文将介绍 handles 句柄的用法,包括创建 handles 句柄、使用 handles 句柄访问和修改 GUI 元素以及处理事件等方面。

一、创建 handles 句柄1.1 在 GUIDE 中创建 handles 句柄在使用 GUIDE(GUI 开发环境)创建 GUI 界面时,handles 句柄已经预定义好了,只需要在 GUI 设计界面中添加 UI 元素,就会自动为元素分配一个 handles 句柄。

例如在 GUI 界面中添加一个 PushButton 按钮,编号为 pushbutton1。

在 MATLAB脚本程序中可以使用如下代码获取该按钮的 handles 句柄:```handles.pushbutton1```1.2 在 MATLAB 代码中创建 handles 句柄如果不使用 GUIDE 创建 GUI 界面,可以通过自己编写 MATLAB 代码的方式来创建界面和 handles 句柄。

首先需要创建一个 GUI 窗口,例如:```f = figure('Units', 'normalized', 'Position', [0.2 0.2 0.6 0.6]);```使用 uicontrol 函数创建一个按钮,例如:```hButton = uicontrol('Parent', f, 'Style', 'pushbutton', 'String', 'Push Me', 'Position', [10 10 80 30]);```这段代码中,hButton 是创建的按钮的句柄,f 是 GUI 窗口的句柄。

matlab句柄绘图课件

matlab句柄绘图课件

动态曲线图
使用plot函数和pause函数结合,可以绘制动态曲线图,展示数据随时间变化的趋势。
交互式选择数据
使用axes的pick函数,可以在图表上选择数据点,并获取其坐标值。
交互式缩放和平移
使用axes的zoom、pan和rotate函数,可以在图表上进行缩放、平移和旋转操作。
交互式修改图表属性
成本较高
ห้องสมุดไป่ตู้
01
02
03
THANKS
感谢您的观看。
3D等高线图
使用contour或contour3函数绘制三维等高线图,可以展示三维空间中等高线或等值线的分布情况。
动态散点图
使用scatter函数和pause函数结合,可以绘制动态散点图,展示数据随时间变化的分布情况。
动态曲面图
使用surf或mesh函数和pause函数结合,可以绘制动态曲面图,展示数据随时间变化的形状。
Matlab句柄绘图PPT课件
目录
Matlab句柄图绘图基础句柄图绘图进阶技巧高级句柄图绘图技术实例演示总结与展望
01
CHAPTER
Matlab句柄图绘图基础
句柄图绘图是一种基于图形句柄的绘图方法,通过操作图形对象的句柄,可以方便地控制图形的各个属性,如线条颜色、线型、数据点标记等。
句柄图绘图在Matlab中广泛应用于数据可视化、算法演示等领域,具有灵活性和可定制性强的特点。
图例添加
使用`title`函数,可以为图表添加标题,概括图表的主题或内容。
标题设置
使用`text`函数,可以在图表中添加文本注释,对特定数据点或区域进行说明。
文本注释
03
CHAPTER
高级句柄图绘图技术

MATLAB在作图中的常见问题

MATLAB在作图中的常见问题
25
26
15.坐标值的修改
(2)修改坐标 语句实现: 我们用axes句柄的xticklabel (或yticklabel) 这一项就可以了。 看下面这一段程序:
27Βιβλιοθήκη 16.放大所画的图形MATLAB所画出的图形是其默认的大小,我们也 可以对图形的大小进行重新设定:
set(gcf,'position',[x0 y0 xL yL]);
19
11.图形标注的一些问题
下面以xlabel为例,讲一下常见的几个问题:
xlabel(‘t^{hit}’); %标注上脚标 xlabel(‘Y_{Lib}’); %标注下脚标
花括号{}的作用是使多个字符都处于相同的状态。
xlabel({‘zjliu’,‘on BBS’}); %多行标注
效果见下图:
11
12
13
7.双Y轴曲线的坐标标注
我们注意到MATLAB命令窗的画兰颜色的 那一行, String = 这是加入文本信息的一个参数选项。
为此我设计了如下的语句:
14
8.双Y轴曲线的坐标标注
所用的几行语句: d1=get(H(1),'ylabel'); set(d1,’string’,’sin(x)’); d2=get(H(2),’ylabel’); set(d2,’string’,’exp(x)’); xlabel(‘x zjliu’) 得到的图形如下:
'fontsize',20,'color','Magenta') xlim([0 2*pi]); 效果见下页:
17
18
10.图形标注的一些问题
常用的几个标注的函数是: text; xlabel (ylabel, zlabel); title 在标注的时候字体,位置以及方向等可以 使用MATLAB自己默认的,也可以自己去 设定。

【转】matlab图形句柄详解(一)

【转】matlab图形句柄详解(一)

【转】matlab图形句柄详解(⼀)在matlab中,每⼀个对象都有⼀个数字来标识,叫做句柄.当每次创建⼀个对象时,matlab就为它建⽴⼀个唯⼀的句柄,句柄中包含有该对象的相关信息参数,可以在后续程序中进⾏操作,改变其中的参数,以便达到不同的效果。

例如:gcf 是返回当前被激活的窗⼝的句柄。

你可以认为它就指代当前窗⼝。

figure(gcf)打开这个窗⼝。

句柄式图形常⽤函数:所有对象都有属性来定义它们的特征,正是通过设定这些属性来修正图形显⽰的⽅式。

尽管许多属性所有的对象都有,但与每⼀种对象类型(⽐如坐标轴,线,曲⾯)相关的属性列表都是独⼀⽆⼆的。

对象属性可包括诸如对象的位置、颜⾊、类型、⽗对象、⼦对象及其它内容。

每⼀个不同对象都有和它相关的属性,可以改变这些属性⽽不影响同类型的其他对象。

和每⼀种对象类型(图形,坐标轴,线,⽂本,曲⾯,补⽚和图象)相关的完整的属性列表在本章的后⾯给出。

对象属性包括属性名和与它们相联关的值。

属性名是字符串,它们通常按混合格式显⽰,每个词的开头字母⼤写,⽐如:’ LineStyle ‘ 。

但是,MATLAB识别⼀个属性时是不分⼤⼩写的。

另外,只要⽤⾜够多的字符来唯⼀地辨识⼀个属性名即可。

例如,坐标轴对象中的位置属性可以⽤ ‘ Position ‘, ‘ position ‘ ,甚⾄是 ‘ pos ‘来调⽤。

当建⽴⼀个对象时,它⽤⼀组缺省属性值,该值可以⽤两种⽅法来改变:改变默认属性值⽅法1:» Hf_1=figure( ‘color’, ‘white’ )它⽤缺省的属性值建⽴⼀个新的图形窗⼝,只是背景颜⾊被设为⽩⾊⽽不是缺省的[0.8 0.8 0.8](灰⾊)。

改变默认属性值⽅法2:为了获得和改变句柄图形对象(如上⾯的Hf_1)的属性只需要两个函数:函数get返回某些对象属性的当前值。

使⽤函数get的最简单语法是get(handle, ‘ PropertyName’ )。

图形句柄

图形句柄

0
-0.2
-0.4
0
2
4
6
8
10
12
14
五、创建图形对象函数
1、创建图形窗口
figure
调用格式: H=figure(n)
n为窗口序号
例:创建1号窗口,并返回句柄。
>>H=figure(1) H=1
返回值为窗口号数
2、创建轴对象
axes
left, bottom H=axes(‘property’, ) width,height
变量H是句柄值——浮点数
1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1
0
1
2
3
4
5
6
7
4、标注文字
text
H=text(x,y,’string’)
确定标注位置 标注字符串
每个函数只能创建一个图形对象, 并将它们置于适当的父辈对象中。
图形对象的基本要素以根屏幕为先导
根屏幕 父对象
窗口1
窗口2
……
窗口n
界面控制
界面菜单

线




子对象
图形对象之间的关系为父代与子代的关系
窗口对象
1 0.8 0.6 0.4 0.2 0
轴对象 线 对 象
图形对象句柄:
根屏幕(Root)句柄总是数字0; 图形窗口( Figure )的句柄总是正 整数,用它来标识图形窗的序号。 其它图形对象的句柄为浮点数。
第五节 图形句柄
一、matlab句柄绘图的特点
——matlab语言的句柄绘图可以对 图形各基本对象进行更为细腻 的修饰,可以产生更为复杂的 图形,而且为动态图形的制作 奠定了基础。

matlab图形操作

matlab图形操作

matlab图形操作本⽂对matlab中利⽤图形句柄对图⽚属性进⾏设置的操作进⾏简单的总结说明:(1)对图窗和坐标轴属性进⾏整体设置可以通过gcf和gca语句获取当前图窗句柄和坐标轴句柄,通过该句柄可以对图窗和坐标轴的各项属性进⾏操作。

图窗和坐标轴分别包含如下属性:% 图窗属性... ...Children: [1×1 Axes] Color: [0.9400 0.9400 0.9400]Colormap: [256×3 double] CurrentAxes: [1×1 Axes]... ...InnerPosition: [680 558 560 420] PaperUnits: 'centimeters'OuterPosition: [672 550 576 514] Position: [680 558 560 420]Units: 'pixels'% 坐标轴属性... ...Box: 'on' BoxStyle: 'back'Children: [1×1 Line] Color: [1 1 1]FontAngle: 'normal' FontName: 'Helvetica'FontSize: 10 FontSizeMode: 'auto'FontSmoothing: 'on' FontUnits: 'points'FontWeight: 'normal' GridColor: [0.1500 0.1500 0.1500]GridLineStyle: '-' Legend: [0×0 GraphicsPlaceholder]LineWidth: 0.5000 OuterPosition: [0 0 1 1]Parent: [1×1 Figure] Position: [0.1300 0.1100 0.7750 0.8150]Title: [1×1 Text] TitleFontWeight: 'normal'Units: 'normalized' UserData: []View: [0 90] Visible: 'on'... ...XAxis: [1×1 NumericRuler] XAxisLocation: 'bottom'XColor: [0.1500 0.1500 0.1500] XColorMode: 'auto'XDir: 'normal' XGrid: 'off'XLabel: [1×1 Text] XLim: [0 100]XScale: 'linear' XTick: [0 10 20 30 40 50 60 70 80 90 100]XTickLabel: {11×1 cell} XTickLabelRotation: 0YAxis: [1×1 NumericRuler] YColor: [0.1500 0.1500 0.1500]YGrid: 'off' YLabel: [1×1 Text]YLim: [0 100] YScale: 'linear'YTick: [0 10 20 30 40 50 60 70 80 90 100] YTickLabel: {11×1 cell}YTickLabelRotation: 0 ZLabel: [1×1 Text]ZLim: [-1 1] ZScale: 'linear'ZTick: [-1 0 1] ZTickLabel: ''ZTickLabelRotation: 0... ...上⾯仅仅是展⽰了图窗和坐标轴部分重要且常⽤的属性,它们的全部属性可通过查matlab的帮助⽂档或直接在matlab的命令⾏上输⼊gcf、gca或通过如下图所⽰的属性窗⼝进⾏查询和设置。

matlab句柄属性

matlab句柄属性

matlab图形句柄属性句柄式图形常用函数:(1)get(h)返回句柄值h所指定的图形对象的所有属性名称与相对应的属性值(2)a = get(h)返回由句柄值h所指定的图形对象的属性结构数组,并且该数组的字段名称就是该对象的属性名称。

(3)a = get(0,'factory')返回所有能由用户设置的属性的默认定义值。

(4)a = get(0,'FactoryObjectTypePropertyName1','FactoryObjectTypePropertyName2',...) 返回指定对象类型指定的属性值,输入参数FactoryObjectTypePropertyName为一个关键词,由字符Factory与图形对象类型(如Figure)还有属性名称(如Color)组成。

a = get(0,'factoryFigureColor')返回Figure对象的Color属性值。

(5)a = get(h,'DefaultObjectTypePropertyName1','DefaultObjectTypePropertyName1',...) 返回句柄值为h的对象指定属性的默认值。

如“DefaultFigureColor”。

(6)a = get(h,'default')列出h对象的所有属性的默认属性值(7)a = set(h)返回句柄值h所指定的图形对象的所有属性名称对应的可设置属性值,a为结构数组,存储对象的属性名称,其字段值为相对应的属性值。

属性值中用{}括起来的表示默认值。

(8)set(h,a)使用指定的属性值来设置由句柄值h所指定的对象属性,a为结构数组,其字段名称为对象的属性名称,字段值为相对应的属性值。

(9)a = set(0,'factory')返回那些用户可以设置默认值的所有对象的属性,同时显示可设置的属性值。

MATLAB句柄图形

MATLAB句柄图形

句柄图形句柄图形对象句柄图形是对底层图形例程集合的总称,实际上是进行生成图形的工作句柄图形的概念:一幅图的每一组成部分是一个对象,每一个对象有一系列句柄和它相关,每一个对象又按需要可以改变属性1、图形框架窗口对象(Figure)(1)、绘制图形的图形框架窗口对象gca:获得当前坐标轴对象的句柄gcbf:获得当前正在执行调用的图形对象的句柄gcbo:获得当前正在执行调用的对象的句柄gcf:获得当前图形对象的句柄gco:获得当前对象的句柄get(gcf) %由于当前状态下不存在图形窗口,系统生成新的图形窗口(2)、核心(Core)对象核心对象:包括直线、文本和特殊对象(光、图像和面图)等基本的绘图命令坐标系对象:包括线、面图和等高线图等描述的数据对象MATLAB中创建核心对象的函数axes:坐标轴image:MATLAB中的图像light:光源line:二维图形中最基本的图形对象patch:按指定方式填充多边形rectangle:具有可设置边界和表面颜色的二维图形对象surface:图形表面text:图形中的文本[x y]=meshgrid([-2:0.4:2]);Z=x.*exp(-x.^2-y.^2);fh=figure('Position',[350 275 600 450],'Color','w');ah=axes('Color',[0.8 0.8 0.8],'XTick',[-2 -1 0 1 2],...'YTick',[-2 -1 0 1 2]);sh=surface('XData',x,'YData',y,'ZData',Z,...'FaceColor',get(ah,'Color')+0.1,...'EdgeColor','k','Marker','o',...'MarkerFaceColor',[0.5 1 0.85]);view(3)(3)、绘图(Plot)对象绘图对象的父对象可以是坐标轴对象或是群对象MATLAB中绘图对象及其绘图命令areaseries:用于创建area图barseries:用于创建bar图contourgroup:用于创建contour图errobarseries:用于创建errorbar图lineseries:提供给绘制线型图的plot和plot3等函数使用quivergroup:用于创建quiver和quiver3图形scattergroup:用于创建scatter和scatter3图形stairseries:用于创建阶梯图形stemseries:用于创建stem和stem3图形surfaceplot :提供给surf和mesh群函数使用[x y z]=peaks;[c h]=contour(x,y,z);set(h,'LineWidth',3,'LineStyle',':')(4)、注释对象图形编辑工具栏Insert菜单注释函数x=-2*pi:pi/12:2*pi;y=x.^2;subplot(2,2,1:2)plot(x,y)h1=subplot(223);y=x.^4;plot(x,y)h2=subplot(224)y=x.^5;plot(x,y)%定义注释矩形的位置和大小p1=get(h1,'Position');t1=get(h1,'TightInset');p2=get(h2,'Position');t2=get(h2,'TightInset');x1=p1(1)-t1(1);y1=p1(2)-t1(2);x2=p2(1)-t2(1);y2=p2(2)-t2(2);w=x2-x1+t1(1)+p2(3)+t2(3);h=p2(4)+t2(2)+t2(4);%创建注释矩阵来环绕下面两个子图annotation('rectangle',[x1 y1 w h],...'FaceAlpha',0.2,'FaceColor','red','EdgeColor','red');通用函数get和set1、get函数get(handle,’PropertyName’):得到对象的属性及其属性值Hf_1=figure('color','w')p=get(Hf_1,'position') %位置p=get(Hf_1,'Children') %子对象p=get(Hf_1,'Color') %颜色get(Hf_1) %整个图形的属性2、set函数set(H,’PropertyName’,PropertyValue):可以同时设置多个属性的值set(H,a):a为结构体,字段名为图形对象的属性名,字段值为属性值set(H,pn,pv):通过单元型变量为图形对象进行属性赋值,其中pn和pv为单元型变量,pn 为1*n的字符型单元变量,其分量为图形对象的属性名,pv可以是m*n的单元型变量,这里m为句柄数组H的长度,即m=length(H)x=-2*pi:pi/12:2*pi;y=x.^2+x.^3;h=figure;plot(x,y);set(h,'position',[232 248 560 420])set(h,'units') %帮助set(h,'position') %帮助figure('Color','blue','NumberTitle','off','Name','My Figure')Hf_fig=figureHf_line=lineset(Hf_line)get(Hf_line)x=linspace(-2*pi,2*pi,200);y=sin(x);Hf_sin=plot(x,y);set(Hf_sin,'Color',[1 0.5 0],'LineWidth',3)z=cos(x);hold onHf_cos=plot(x,z);set(Hf_cos,'Color',[0.75 0.75 1])查找对象Hf_fig=gcf:返回当前图形的句柄Hf_ax=gca:返回当前图形的当前坐标轴句柄Hx_obj=gco或是Hx_obj=gco(Hf_fig):获取当前对象findobj函数Hx=findobj(‘P1name’,P1value,…):返回根部和根部以下的那些属性值与findobj参数项匹配的对象句柄Hx=findobj(Objecthandle,‘P1name’,P1value,…):限定在Objecthandle中列出的对象和它们的子对象Hx=findobj(Objecthandle,’flat’,‘P1name’,P1value,…):限定在Objecthandle中列出的对象H=findobj:返回根对象和它所有子对象的句柄H=findobj(Objecthandle):返回Objecthandle中列出的对象和它们的子对象的句柄当前对象的定义:用鼠标刚刚点过的对象x=linspace(-pi,pi,100);y=sin(x);z=cos(x);plot(x,y,'r',x,z,'g');H1_lines=get(gca,'Children');for k=1:size(H1_lines)if get(H1_lines(k),'color')==[0 1 0] %查找图中绿色线条的句柄H1_green(k)=H1_lines(k);endendH1_green堆积次序堆积次序决定哪一对象叠加在其他对象上,最后被创建的对象在堆栈顶部默认属性使用set函数默认属性名:Default+属性名set(0,'DefaultAxesColorOrder',[0 0 0],...'DefaultAxesLineStyleOrder','-|--|:|-.')z=peaks;plot(1:49,z(4:7,:))。

第10章 MATLAB图形对象句柄_习题答案

第10章  MATLAB图形对象句柄_习题答案

第10章 MATLAB图形对象句柄习题10一、选择题1.MA TLAB图形系统的根对象是指()。

AA.计算机屏幕B.图形窗口C.坐标轴D.用户界面对象2.以下不正确的选项是()。

DA.坐标轴是图形窗口对象的子对象B.图形对象的句柄变量相当于对象名C.可以通过对象的句柄来设置或获取对象的属性D.gcf函数可以获取当前对象的句柄3.使用figure 函数建立图形窗口时,默认的标题是()。

CA.图形窗口n(n是数字)B.Fig n(n是数字)C.Figure n(n是数字)D.Figure Window n(n是数字)4.用于决定坐标轴对象是否带边框的属性是()。

AA.Box B.Grid C.Position D.Font 5.下列命令中,除一条命令外其他三条命令等价,这一条命令是()。

BA.line(x,y,'Color','r'); B.line(x,y,'r');C.plot(x,y,'Color','r'); D.plot(x,y,'r');6.命令patch([0,1/2,1], [0,tan(pi/3)/2,0], [1,0,0])执行后得到的图形是()。

CA.红色的等腰三角形B.绿色的等腰三角形C.红色的等边三角形D.白色的四边形二、填空题1.H代表一根曲线,要设置曲线的属性可以使用函数,要获取曲线的属性可以使用函数。

set(H,属性名,属性值),get(H,属性名)2.MA TLAB中表示颜色可以用表示,也可以用表示。

字符,RGB三元组3.用于标识图形对象的属性是属性,可以通过函数获取该属性所对应图形对象的句柄。

在屏幕对象及其子对象中查找标识符为ppp的对象,并返回其句柄,可使用命令。

Tag,findobj,hf=findobj(0,'Tag','ppp')4.使用axes 函数可以在中创建对象。

第五讲matlab句柄绘图

第五讲matlab句柄绘图

2
3
4
5
6
7
set(0,'defaultfigurecolor','b') set(0,'defaultaxescolor','g') h=line(x,y) set(h,'color','r') set(gca,'xcolor','w') set(gca,'ycolor','w')
1
0.8
0.6
高层绘图与底层绘图的区别
• 高层绘图函数——是对整个图形进行操 作的,图形每一部分的属性都是按缺省 方式设置的,充分体现了matlab语言的 实用性。
• 底层绘图函数——可以定制图形,对图 形的每一部分进行控制,用户可以用来 开发用户界面以及各专业的专用图形。 充分体现了matlab语言的开发性
一、什么是句柄图形
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
轴对象
窗口对象
线 对 象
面对象
10 0
value of the cosine 1
cos(x)=0.707
0.5
0
线对象
cos(x)
-10 20
轴对象
10
00
-0.5
20
10
-1
-5
0 50
像对象100 150 200
1 0.5
0 -0.5
-1 100 200 300
1. 对象属性的直接操作 对象属性的直接操作是通过当前句柄来
实现的,所以首先要获得当前句柄值以及 对象的属性,然后再查询或修改。

ch6 matlab图形句柄

ch6 matlab图形句柄

Matlab图形句柄 set范例: t = 0:0.1:4*pi; y = exp(-t/5).*sin(t); h = plot(t, y); % h 为曲线的句柄 set(h,'Linewidth',3); % 将曲线宽度改为 3 set(h,'Marker','o'); %将曲线的线标改成小圆圈 set(h,'MarkerSize',20); % 将线标的大小改成 20 get范例: get(h,'LineWidth') h,'Color') get(0,'screensize') %取得曲线宽度 %取得曲线颜色 %取得屏幕的尺寸
例:编写程序建立图形窗口,要求满足: 1)窗口宽和高为屏幕宽和高的一半,窗口右下角在 屏幕宽和高的1/4处;窗口背景为蓝色. 2)无菜单栏,标题名称为"图形窗口演示",无图 形窗口编号. 3)单击鼠标打印出正弦曲线. x=0:0.05:2*pi;y=sin(x); s=get(0,'screensize'); h=s(4);w=s(3); h1=figure('color',[0,0,1],'position',[0.25*w,0.25*h,... 0.5*w,0.5*h],'name','图形窗口演示','numbertitle',... 'off','menubar','none','windowbuttondownfcn',... 'plot(x,y);axis([0,2*pi,-1,1])');

matlab legend 句柄

matlab legend 句柄

matlab legend 句柄
在MATLAB中,图例(legend)句柄是一个指向图例对象的引用,允许用户在程序中对图例进行操作。

图例句柄可以用于更改图例的
属性,如位置、字体大小、颜色等,或者在程序中动态更新图例内容。

要获取图例句柄,可以使用legend函数的输出参数,例如:
matlab.
h = legend('Plot1', 'Plot2');
这里的h就是图例的句柄。

然后可以使用h来操作图例,例如
更改位置:
matlab.
set(h, 'Location', 'NorthEast');
或者更改字体大小:
matlab.
set(h, 'FontSize', 12);
通过使用图例句柄,用户可以在程序中灵活地控制图例的外观和行为。

这对于需要自动化生成图形的程序非常有用,因为可以在不同条件下动态修改图例内容和属性。

同时,图例句柄也可以用于与其他图形对象进行交互,实现更复杂的图形操作和交互式界面设计。

希望这个回答能够帮助到你理解MATLAB中图例句柄的概念和用法。

MATLAB基础教程(第四版)第9章 MATLAB句柄图形

MATLAB基础教程(第四版)第9章 MATLAB句柄图形
MATLAB 的图形对象(1/7)
图形对象是 MATLAB 显示数据的基本绘图 元素,每个对象拥有一个唯一的标志,即 句柄。通过句柄可以对已有的图形对象进 行操作,控制其属性。
MATLAB 中这些对象的组织形式为层次结 构,如图所示。
2021年8月23日
第5页
MATLAB R2018b 基础教程
2021年8月23日
第9页
MATLAB R2018b 基础教程
MATLAB 的图形对象(6/7)
Annotation 对象 它是 MATLAB 中的注释内容,存在于因此 的坐标系中,该坐标系的范围为整个图形 窗口。用户可以通过规范化坐标将注释对 象放置于图形窗口中的任何位置。规范化 坐标的范围为从 0 到 1,窗口左下角为 [0,0],右上角为 [1,1]。
Interruptible
确定当前的响应函数是否可以被后继的响应函数中断
Parent
该对象的上级(父)对象
Selected
表明该对象是否被选中
SelectionHighlight
指定是否显示对象的选中状态
Tag
用户指定的对象标签
Type
该对象的类型
UserData
用户想与该对象关联的任意数据
Visible
2021年8月23日
第7页
MATLAB R2018b 基础教程
MATLAB 的图形对象(4/7)
Core 对象 包括基本的绘图单元,包括线条、文本、多边形 及一些特殊对象,如表面图,表面图中包括矩形 方格、图像和光照对象,光照对象不可视,但是 会影响一些对象的色彩方案。
2021年8月23日
第8页
设置该对象是否可见
2021年8月23日

matlab使用教程4-3

matlab使用教程4-3

第4章 Matlab的图形功能 章 的图形功能
2.图形对象和句柄图形的结构层次 2.图形对象和句柄图形的结构层次 图形对象包括图形窗口或者图形 还有坐标系、线条、 包括图形窗口或者图形, 图形对象包括图形窗口或者图形,还有坐标系、线条、 曲面、文本等。这些对象按父对象和子对象组成 MATLAB 图形体系的层次结构。 图形体系的层次结构。 每个图形对象都由若干可以被独立操作的对象构成 都由若干可以被独立操作的对象构成, 每个图形对象都由若干可以被独立操作的对象构成,它 不必包含全部对象,但是必须具备根屏幕 根屏幕( 不必包含全部对象,但是必须具备根屏幕( Root)和图 ) 形窗( 形窗( Figure)。 ) 每个父对象可以包含一个或多个子对象。除了控件对象 每个父对象可以包含一个或多个子对象。 包含一个或多个子对象 ( Uicontrol)和菜单对象( Uimenu)外,所有的对象 ) 菜单对象( ) 都是坐标轴的子对象,并且在这些坐标轴上显示。 坐标轴的子对象 都是坐标轴的子对象,并且在这些坐标轴上显示。所有 创建对象的函数当父对象不存在时,都会创建它们。 创建对象的函数当父对象不存在时,都会创建它们。
文件: 阅读或者打印以下 PDF 文件:
help\pdf_doc\matlab\graphg.pdf; ; help\pdf_doc\matlab\ref\refbook2.pdf
用命令 help 查看有关对象的资料
在命令窗口中键入 help figure,直接获得有关图形对象的属性描述; ,直接获得有关图形对象的属性描述;
C=copyobj(H,P): H 和 P 都是向量, H 和 P 的长度必须相等,向量 : 都是向量, 的长度必须相等, 的元素为对象的句柄。H 中的句柄对应的图形对象都被复制到P 中相应 元素为对象的句柄。 中的句柄对应的图形对象都被复制到 为对象的句柄 对应的图形对象都被复制到 元素之下, 句柄的图形元素之下 分别成为这些父对象的子对象。 句柄的图形元素之下,分别成为这些父对象的子对象。新对象的句柄将 赋值给向量 C 中的相应元素; 赋值给向量 中的相应元素; C=copyobj(H,p):H 是向量,p 是标量。H 中的每一个句柄对应的图 : 是向量, 是标量。 中的每一个句柄对应的图 每一个句柄 形对象都将被复制到句柄 p 的图形对象之下,成为这个父对象 的子对 形对象都将被复制到句柄 的图形对象之下,成为这个父对象p的子对 父对象 象。新子对象的句柄将赋给向量 C 中的相应元素; 新子对象的句柄将赋给向量 中的相应元素; C=copyobj(h,P):h 是标量,P 是向量。句柄 h 的图形对象将被复制到 : 是标量, 是向量。 向量 P 中的每个句柄对应的图形对象之下,分别成为这些父对象的子对 中的每个句柄对应的图形对象之下, 每个句柄对应的图形对象之下 象。新子对象的句柄将赋给向量 C 中的对应元素。 新子对象的句柄将赋给向量 中的对应元素。

经典MATLAB图形句柄

经典MATLAB图形句柄
使用`get`命令获取图形属性
PropertyValue = get(h,'PropertyName');
使用`refreshdata`命令更新图…
refreshdata(h);
使用`drawnow`命令更新图形窗口
drawnow;
图形句柄的删除和销毁
使用`delete`命令删除指定图形对象
delete(h);
图形句柄的分类
线条句柄
用于标识和操作线条ቤተ መጻሕፍቲ ባይዱ象。
曲面句柄
用于标识和操作曲面对象。
文本句柄
用于标识和操作文本对象。
图像句柄 组句柄
用于标识和操作图像对象。
用于标识和操作一组相关的 图形对象。
02
常用图形句柄
坐标轴句柄
获取当前坐标轴句柄
使用`gca`函数可以获取当前坐标轴的句柄。
设置坐标轴属性
通过坐标轴句柄,可以设置坐标轴的属性,如坐标轴范围、刻度标记等。
对于初学者来说,经典Matlab图形句柄的学习曲线可能较为陡峭,需 要投入较多时间和精力。
Matlab图形句柄的未来发展
性能优化
未来版本的Matlab可能会对图形句柄进行 性能优化,提高绘图速度和响应能力。
增强灵活性
为了满足更多样化的绘图需求,未来版本的Matlab 可能会增加更多的图形句柄功能和选项。
区域句柄
创建区域
01
使用`area`函数可以创建区域图,并返回区域的句柄。
设置区域属性
02
通过区域句柄,可以设置区域的填充颜色、边框颜色等属性。
添加数据标签
03
使用区域句柄,可以在区域上显示数据标签,以标识区域的值。
03

matlab_图形句柄基本概念

matlab_图形句柄基本概念

matlab中图形句柄到底是什么意思?有什么用?
简单来说,图形对象的名字就叫句柄。

可以通过这个“句柄”,得到或者修改图形对象的属性,这就是它的用处。

比如说画了一个图,可以修改图形坐标,线条宽度,这些就是这个图形对象的属性。

matlab_图形句柄基本概念
在matlab中,图形句柄操作函数是指处于底层的图形特性函数的总称。

图形句柄函数用来描述图形的表现方式和显示方式,使用图形句柄函数可以对图形特性进行控制。

matlab把每一个可视部分都视为一个对象,其中每个对象都有一个唯一的标识符与之对应(也成为句柄);
并且每个对象都定义一组属性,这些属性可以由用户修改,通过设置这些属性,控制对象的图形显示方式。

每一个句柄变量中都存储一个数值,用来作为对象的标识。

matlab7的图形对象的层次结构如下所示:
计算机屏幕root
||
图形窗口figure
// || \\
注释坐标轴坐标轴 UI对象
计算机屏幕的句柄为0,新建图形窗口的句柄一般用1,2,3。

表示,其它对象的句柄都是用一个双精度数表示,不同的对象具有不同的句柄。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

图形窗口常用属性
(1)Position属性。其形式为[n1,n2,n3,n4]。其中n1和 n2分别为对象左下角的横纵坐标值,n3和n4分别为图 形窗口的宽度和高度。它们的单位由Units属性决定。
(2)Units属性。该属性的取值: normalized(相对单 位,为默认值)、pixel(像素)、inches(英寸)、 centimeters(厘米)和points(磅)。 (3)对键盘及鼠标响应属性。这类属性有 KeyPressFcn(键盘键按下响应)、 WindowButtonDownFcn(鼠标键按下响应)、 WindowButtonMotionFcn(鼠标移动响应)、 WindowButtonUpFcn(鼠标键释放响应)等。
第8章 图形句柄
Eg: x=0:0.1:2; y=x.^2; Hndl=plot(x,y); result=get(Hndl) set(Hndl,'Linewidth',4,'LineStyle','- -')
x=linspace(0,2*pi); H=plot3(sin(x),cos(x),x); get(H) set(H,'Marker','*')
8.1.3 图形对象属性 1.属性名与属性值 MATLAB给每种对象的每一个属性规定了一个名字,称 为属性名,而属性名的取值称为属性值。
例如,LineStyle是曲线对象的一个属性名,它的值决定 着线型,取值可以是‘-‟ 、‘:‟、‘-.‟、‘--‟或‘none„, 属性名要用单撇号括起来。
【例8.5】利用曲线对象绘制曲线y=e−tsin2πt。 程序如下: t=0:pi/100:pi; y=sin(2*pi*t).*exp(-t); figure('Position',[30,100,480,320]); axes('GridLineStyle','-.','XLim',[0,pi],'YLim',[0.6,1]); h=get(gca,'Title'); set(h,'String','y= e^{-t}sin(2{\pi}t) '); line('XData',t,'YData',y,'Marker','*'); grid on
axes('Position',[0.45,0.6,0.5,0.35]); plot3(x,y,z); set(gca,'view',[75,15],'ZLim',[-0.5,1.8]) axes('Position',[0.1,0.05,0.8,0.5]); plot3(x,y,z); grid on;
x=0:pi/50:2*pi; y=sin(x); z=cos(x); plot(x,y,'r',x,z,'g'); %绘制两根不同曲线 Hl=get(gca,'Children') %获取两曲线句柄向量Hl for k=1:size(Hl) if get(Hl(k),'Color')==[0 1 0] %[0 1 0]代表绿色 Hlg=Hl(k); %获取绿色线条句柄 end end pause %便于观察设置前后的效果 set(Hlg,„LineStyle‟,„:‟,„Marker‟,„p‟); %对绿色线条进 行设置,线型为点线,数据点为五角星
8.2 图形窗口对象与坐标轴
8.2.2 坐标轴 坐标轴是在图形窗口中定义的一个画图区域。 建立坐标轴对象使用axes函数: ●句柄变量=axes(属性名1,属性值1,属性名2,属性值 2,…) ●axes 或 句柄变量=axes 激活坐标轴: axes(坐标轴句柄)
【例8.4】利用坐标轴对象实现图形窗口的任意分割。
8.1 图形对象及其句柄
MATLAB的图形系统是面向对象的。 什么是对象?拿人比喻: 人是一个对象。 手是一个对象。 脚是一个对象。 头是一个对象。 肝是一个对象。 。。。。。 人这个对象是有手、脚、头、肝、肺等对象组成。 现代编程语言就是基于这种思想,matlab底层是通过函 数实现面向对象的编程。
(5)string属性:显示在对象上的字符,比如按钮上的 “确定”字符或者“ok”字符,相当于控件穿什么样的 衣服。
(6)Visible属性。该属性的取值是on(默认值)或off, 决定着图形对象是否在图形窗口中显示出来。
【例8.2】在同一坐标下绘制红、绿两条不同的曲线, 然后获取绿色曲线的句柄,并利用句柄更改绿色曲 线的样式。 程序如下:
MATLAB提供了若干个函数用于获取已有图 形对象的句柄,较为常用的函数如表8.1所示。
表 8.1 函 gcf gca gco findobj 数 常用的获取图形对象句柄的函数 功 获取当前图形窗口的句柄(g et current figure) 获取当前坐标轴的句柄(g et current a xis) 按照指定的属性来获取图形对象的句柄 能
8.3.2 曲面对象 句柄变量=surface(x,y,z,属性名1,属性值1, 属性名2,属性值2,…) x、y、z的含义和用法与高层曲面函数 mesh、surf等一样。 其余的选项与前面介绍过的figure、axes等 函数类似。
除公共属性外,其他常用属性如下。 (1)EdgeColor属性。定义曲面网格线的颜色或 着色方式。 (2)FaceColor属性。定义曲面网格片的颜色或 着色方式。 (3)LineStyle属性。定义曲面网格线的线型。 (4)LineWidth属性。定义曲面网格线的线宽。 (5)Marker属性。定义曲面数据点标记符号。 (6)MarkerSize属性。定义曲面数据点标记符号 的大小。 (7)XData、YData、ZData属性。取值是数值 向量或矩阵,代表曲曲面对象的3个坐标轴数据。
获取最近被选中的图形对象的句柄(g et current o bject)
【例8.1】绘制曲线并查看有关对象的句柄。 x=linspace(0,2*pi,30); y=sin(x); h0=plot(x,y,'rx') %曲线对象的句柄 h1=gcf %图形窗口句柄 h2=gca %坐标轴句柄 h3=findobj(gca,'Marker','x') %坐标轴上曲线 的句柄
8.3 核心图形对象
8.3.1 曲线对象 建立曲线对象使用line函数: ●句柄变量=line(x,y,属性名1,属性值1,属性名2,属性值2,…) ●句柄变量=line(x,y,z,属性名1,属性值1,属性名2,属性值 2,…) 曲线对象除Color等公共属性外,其他常用属性如下: (1)LineStyle属性。定义线型。 (2)LineWidth属性。定义线宽,默认值为0.5磅。 (3)Marker属性。定义数据点标记符号,默认值为none。 (4)MarkerSize属性。定义数据点标记符号的大小,默认 值为6磅。
8.1 图形对象及其句柄
8.1.1 图形对象 MATLAB的图形对象包括图形窗口、坐标轴、用户界面、 曲线、曲面、文字、图像等。 在MATLAB中,每一个具体的图形都是由若干个不同的 图形对象组成的。
8.1 图形对象及其句柄 图形对象是有层次的,其层次结构如图8.1所示。 图形窗口是根对象的子对象, 坐标轴和用户界面对象是图形窗口的子对象, 曲线、曲面、文字等是坐标轴的子对象。

图形窗口
坐标轴
用户界面对象
隐藏的坐标轴 注解对象
核心对象
绘图对象
组对象
注解对象
8.1.2 图形对象句柄
MATLAB在创建每一个图形对象时,都为该对象 分配唯一的一个值,称其为图形对象句柄 (Handle),它是图形对象的唯一标识符。 根对象的句柄值为0; 图形窗口对象的句柄值为一正整数,显示在该窗 口的标题栏; 其他图形对象的句柄为双精度浮点数。
对象的属性
什么是属性?拿人的手来比喻: 手的颜色:黄色、黑色、白色等。 手的长度:10cm、11.5cm等。 手有几个手指:3个、5个、6个等。 手的重量:100克、150克。 手在人体上位置:与小臂相连等。
对象的事件
人被骂了,会生气。 人饿了,要吃饭。 人被打了,要还手。 人被钉子刺了,会疼痛。
【例8.3】建立一个图形窗口。该图形窗口没有菜单条, 标题名称为“我的图形窗口”,当用户从键盘按下任意 一个键时,将在该图形窗口绘制出正弦曲线。 命令如下: x=linspace(0,2*pi,60); y=sin(x); hf=figure('Position',[5,5,360,210],'MenuBar','none',… 'Name','我的图形窗口','NumberTitle','off', … 'KeyPressFcn', 'plot(x,y);axis([0,2*pi,-1,1]);');
clf; %清除图形窗口中的内容 [x,y]=meshgrid(0:0.1:pi/2,0:0.1:pi); z=sin(x.^2)+cos(y.^2); axes('Position',[0.05,0.6,0.3,0.3]); plot(x,z); set(gca,'XDir','reverse')
2.属性的操作 (1)设置图形对象属性 set(句柄,属性名1,属性值1,对象。
相关文档
最新文档