matlab句柄绘图

合集下载

matlab句柄绘图课件

matlab句柄绘图课件
为什么使用句柄绘图?
句柄绘图提供了更高级的图形操作和自定义功 能,使得绘图过程更加灵活和可控。
句柄绘图的优点
• 可以动态更新图形 • 支持交互式修改 • 创建复杂的可视化效果
句柄绘图的示例
1
静态图与动态图的区别
2
Hale Waihona Puke 了解静态图和动态图在句柄绘图中的
应用和区别。
3
句柄绘图的使用方法
学习如何在MATLAB中使用句柄对象 创建和修改图形。
句柄绘图的应用
句柄绘图广泛应用于科学研 究、工程建模和数据可视化 等领域。
句柄绘图的未来发 展
展望句柄绘图技术在未来的 发展方向和应用前景。
MATLAB句柄基础
1 什么是句柄?
句柄是一个指向存储对象或数据的引用,通过句柄可以访问和操作存储的内容。
2 句柄的用途
在MATLAB中,句柄可用于绘图、GUI编程、对象引用和回调函数等各种应用场景。
3 句柄的存储方式
在MATLAB中,句柄可以通过变量、属性和函数返回值等形式进行存储。
句柄绘图的优势
MATLAB句柄绘图
MATLAB句柄绘图的课件将为您介绍句柄绘图的基础知识和应用,帮助您更 好地理解和运用MATLAB的强大绘图功能。
MATLAB句柄绘图简介
什么是MATLAB句柄绘图?
MATLAB句柄绘图是一种在MATLAB中使用 图形句柄对象绘制图形的方法。
为什么需要使用句柄绘图?
句柄绘图提供了更灵活、可操作性更强的绘 图方式,方便用户对图像进行交互和修改。
句柄绘图的实例
通过实际案例演示句柄绘图的强大功 能和灵活性。
句柄绘图的应用
1 句柄绘图的应用场景
句柄绘图广泛应用于科学研究、工程建模、数据可视化和图形界面设计等领域。

【转】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’ )。

MATLAB第9章图形句柄

MATLAB第9章图形句柄

9.2 图形窗口与坐标轴
♠除根对象外,所有图形对象都可以由与之 同名的低层函数创建。所创建的对象置于 适当的父对象之中,当父对象不存在时, Matlab会自动创建它。如:Line函数。 ♠创建对象的低层函数调用格式类似,关键 要了解对象的属性及其取值。前面已介绍 各对象的公共属性,下面介绍图形窗口和 坐标轴的创建方法及特殊属性。


如果在调用get函数时省略属性名,则将 返回句柄所有的属性值。 clc;clear;close all; x=0:pi/10:2*pi; h=plot(x,sin(x)) set(h,'color','r','linestyle',':','Marker','p') get(h)
用get函数可获取屏幕的分辨率: V=get(0,'screensize')
MATLAB为每个图形窗口提供了很多属性。 这些属性及其取值控制着图形窗口对象。
除公共属性外,其他常用属性如下: MenuBar属性、Name属性、NumberTitle属性、 Resize属性、Position属性、Units属性、Color 属性、Pointer属性、KeyPressFcn(键盘键按下 响应)、WindowButtonDownFcn(鼠标键按下响 应)、WindowButtonMotionFcn(鼠标移动响应) 及WindowButtonUpFcn(鼠标键释放响应)等。
9.1 图形对象及其句柄
1.图形对象 MATLAB中的每一个具体的图形都是由 若干个不同的图形对象组成的。 所有的图形对象都按父对象和子对象的 方式组成层次结构,如图9-1。
计算机屏幕 图形窗口 用户界面对象 坐标轴 标注对象

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,:))。

详尽全面的matlab绘图教程

详尽全面的matlab绘图教程

详尽全⾯的matlab绘图教程Matlab绘图强⼤的绘图功能是Matlab的特点之⼀,Matlab提供了⼀系列的绘图函数,⽤户不需要过多的考虑绘图的细节,只需要给出⼀些基本参数就能得到所需图形,这类函数称为⾼层绘图函数。

此外,Matlab还提供了直接对图形句柄进⾏操作的低层绘图操作。

这类操作将图形的每个图形元素(如坐标轴、曲线、⽂字等)看做⼀个独⽴的对象,系统给每个对象分配⼀个句柄,可以通过句柄对该图形元素进⾏操作,⽽不影响其他部分。

本章介绍绘制⼆维和三维图形的⾼层绘图函数以及其他图形控制函数的使⽤⽅法,在此基础上,再介绍可以操作和控制各种图形对象的低层绘图操作。

⼀.⼆维绘图⼆维图形是将平⾯坐标上的数据点连接起来的平⾯图形。

可以采⽤不同的坐标系,如直⾓坐标、对数坐标、极坐标等。

⼆维图形的绘制是其他绘图操作的基础。

⼀.绘制⼆维曲线的基本函数在Matlab中,最基本⽽且应⽤最为⼴泛的绘图函数为plot,利⽤它可以在⼆维平⾯上绘制出不同的曲线。

1. plot函数的基本⽤法plot函数⽤于绘制⼆维平⾯上的线性坐标曲线图,要提供⼀组x坐标和对应的y坐标,可以绘制分别以x和y为横、纵坐标的⼆维曲线。

plot函数的应⽤格式plot(x,y) 其中x,y为长度相同的向量,存储x坐标和y坐标。

例51 在[0 , 2pi]区间,绘制曲线程序如下:在命令窗⼝中输⼊以下命令>> x=0:pi/100:2*pi;>> y=2*exp(-0.5*x).*sin(2*pi*x);>> plot(x,y)程序执⾏后,打开⼀个图形窗⼝,在其中绘制出如下曲线注意:指数函数和正弦函数之间要⽤点乘运算,因为⼆者是向量。

例52 绘制曲线这是以参数形式给出的曲线⽅程,只要给定参数向量,再分别求出x,y向量即可输出曲线:>> t=-pi:pi/100:pi;>> x=t.*cos(3*t);>> y=t.*sin(t).*sin(t);>> plot(x,y)程序执⾏后,打开⼀个图形窗⼝,在其中绘制出如下曲线以上提到plot函数的⾃变量x,y为长度相同的向量,这是最常见、最基本的⽤法。

最全的MATLAB绘图命令

最全的MATLAB绘图命令

Matlab绘图强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数。

此外,Matlab还提供了直接对图形句柄进行操作的低层绘图操作。

这类操作将图形的每个图形元素(如坐标轴、曲线、文字等)看做一个独立的对象,系统给每个对象分配一个句柄,可以通过句柄对该图形元素进行操作,而不影响其他部分。

本章介绍绘制二维和三维图形的高层绘图函数以及其他图形控制函数的使用方法,在此基础上,再介绍可以操作和控制各种图形对象的低层绘图操作。

一.二维绘图二维图形是将平面坐标上的数据点连接起来的平面图形。

可以采用不同的坐标系,如直角坐标、对数坐标、极坐标等。

二维图形的绘制是其他绘图操作的基础。

一.绘制二维曲线的基本函数在Matlab中,最基本而且应用最为广泛的绘图函数为plot,利用它可以在二维平面上绘制出不同的曲线。

1. plot函数的基本用法plot函数用于绘制二维平面上的线性坐标曲线图,要提供一组x坐标和对应的y 坐标,可以绘制分别以x和y为横、纵坐标的二维曲线。

plot函数的应用格式plot(x,y) 其中x,y为长度相同的向量,存储x坐标和y坐标。

例51 在[0 , 2pi]区间,绘制曲线程序如下:在命令窗口中输入以下命令>> x=0:pi/100:2*pi;>> y=2*exp(-0.5*x).*sin(2*pi*x);>> plot(x,y)程序执行后,打开一个图形窗口,在其中绘制出如下曲线注意:指数函数和正弦函数之间要用点乘运算,因为二者是向量。

例52 绘制曲线这是以参数形式给出的曲线方程,只要给定参数向量,再分别求出x,y向量即可输出曲线:>> t=-pi:pi/100:pi;>> x=t.*cos(3*t);>> y=t.*sin(t).*sin(t);>> plot(x,y)程序执行后,打开一个图形窗口,在其中绘制出如下曲线以上提到plot函数的自变量x,y为长度相同的向量,这是最常见、最基本的用法。

第五讲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. 对象属性的直接操作 对象属性的直接操作是通过当前句柄来
实现的,所以首先要获得当前句柄值以及 对象的属性,然后再查询或修改。

最全的MATLAB绘图命令

最全的MATLAB绘图命令

Matlab绘图强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数。

此外,Matlab还提供了直接对图形句柄进行操作的低层绘图操作。

这类操作将图形的每个图形元素(如坐标轴、曲线、文字等)看做一个独立的对象,系统给每个对象分配一个句柄,可以通过句柄对该图形元素进行操作,而不影响其他部分。

本章介绍绘制二维和三维图形的高层绘图函数以及其他图形控制函数的使用方法,在此基础上,再介绍可以操作和控制各种图形对象的低层绘图操作。

一.二维绘图二维图形是将平面坐标上的数据点连接起来的平面图形。

可以采用不同的坐标系,如直角坐标、对数坐标、极坐标等。

二维图形的绘制是其他绘图操作的基础。

一.绘制二维曲线的基本函数在Matlab中,最基本而且应用最为广泛的绘图函数为plot,利用它可以在二维平面上绘制出不同的曲线。

1. plot函数的基本用法plot函数用于绘制二维平面上的线性坐标曲线图,要提供一组x坐标和对应的y 坐标,可以绘制分别以x和y为横、纵坐标的二维曲线。

plot函数的应用格式plot(x,y) 其中x,y为长度相同的向量,存储x坐标和y坐标。

例51 在[0 , 2pi]区间,绘制曲线程序如下:在命令窗口中输入以下命令>> x=0:pi/100:2*pi;>> y=2*exp(-0.5*x).*sin(2*pi*x);>> plot(x,y)程序执行后,打开一个图形窗口,在其中绘制出如下曲线注意:指数函数和正弦函数之间要用点乘运算,因为二者是向量。

例52 绘制曲线这是以参数形式给出的曲线方程,只要给定参数向量,再分别求出x,y向量即可输出曲线:>> t=-pi:pi/100:pi;>> x=t.*cos(3*t);>> y=t.*sin(t).*sin(t);>> plot(x,y)程序执行后,打开一个图形窗口,在其中绘制出如下曲线以上提到plot函数的自变量x,y为长度相同的向量,这是最常见、最基本的用法。

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绘图(全面)

教你如何用matlab绘图(全面)

强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数。

此外,Matlab还提供了直接对图形句柄进行操作的低层绘图操作。

这类操作将图形的每个图形元素(如坐标轴、曲线、文字等)看做一个独立的对象,系统给每个对象分配一个句柄,可以通过句柄对该图形元素进行操作,而不影响其他部分。

本章介绍绘制二维和三维图形的高层绘图函数以及其他图形控制函数的使用方法,在此基础上,再介绍可以操作和控制各种图形对象的低层绘图操作。

一.二维绘图二维图形是将平面坐标上的数据点连接起来的平面图形。

可以采用不同的坐标系,如直角坐标、对数坐标、极坐标等。

二维图形的绘制是其他绘图操作的基础。

一.绘制二维曲线的基本函数在Matlab中,最基本而且应用最为广泛的绘图函数为plot,利用它可以在二维平面上绘制出不同的曲线。

1.plot函数的基本用法plot函数用于绘制二维平面上的线性坐标曲线图,要提供一组x坐标和对应的y坐标,可以绘制分别以x和y为横、纵坐标的二维曲线。

plot函数的应用格式plot(x,y) 其中x,y为长度相同的向量,存储x坐标和y坐标。

例51 在[0 , 2pi]区间,绘制曲线程序如下:在命令窗口中输入以下命令>> x=0:pi/100:2*pi;>> y=2*exp(-0.5*x).*sin(2*pi*x);>> plot(x,y)程序执行后,打开一个图形窗口,在其中绘制出如下曲线注意:指数函数和正弦函数之间要用点乘运算,因为二者是向量。

例52 绘制曲线这是以参数形式给出的曲线方程,只要给定参数向量,再分别求出x,y向量即可输出曲线:>> t=-pi:pi/100:pi;>> x=t.*cos(3*t);>> y=t.*sin(t).*sin(t);>> plot(x,y)程序执行后,打开一个图形窗口,在其中绘制出如下曲线以上提到plot函数的自变量x,y为长度相同的向量,这是最常见、最基本的用法。

第05讲 matlab 绘图

第05讲   matlab 绘图

5.2.4 获取二维图形数据的指令
[x,y]=ginput(n)用鼠标从二维图形上获
取n个点的数据坐标 (x,y) 。用enter键来 结束取点。 [x,y]=ginput 取点的数目不受限制 [x,y,button]=ginput(……)返回值 button记录了在选取每个数据点的相关信 息。 【例5.2-9】采用图解法求的解。
Equal 4 2 0 -2 0 -2 -4 -2
Square
0 Image and Box off 2 0 -2 -1 0 1
2
-2
0
2
0 Tight
2
Image and Fill 1 0.5 0 -0.5 -1 -1 0 1 -2 -1 0 2
0
1
三、曲线图中加入文字标识
title(S) 书写图名 xlabel(S) 横坐标轴名 ylabel(S) 纵坐标轴名 legend(S1,S2, ...) 绘制曲线所用线型、色彩或数据点 形图例,legend指令不能正常使用于双纵坐标轴 text(xt,yt,S) 在图面(xt, yt)坐标处书写字符注释 gtext 在鼠标的位置加入字符串
5.2.3 多次叠绘、双纵坐标和多子图
一、多次叠绘 hold on 使当前轴及图形保持而不被刷新,准备接受 此后将绘制的新曲线。
hold off
使当前轴及图形不再具备不被刷新的性质。
hold 当前图形是否具备刷新性质的双向切换开关。 二、单窗口多曲线分图绘图 subplot —— 子图分割命令 调用格式:subplot(m,n,p) —按从左至右,从上至下排列
matlab 绘图
——matlab语言丰富的图形 表现方法,使得数学计算结 果可以方便地、多样性地实 现了可视化,这是其它语言 所不能比拟的。

经典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课件第五讲句柄图形和GUI

北航matlab课件第五讲句柄图形和GUI

自动化科学与电气工程学院
句柄图形与GUI
句柄图形
对象句柄的获取方法 通过get函数获取对象的句柄 如果图形对象已知,可以在程序中通过get函数获取图形对象的句柄。 H_pa=get(H_known,PV) H_pa=get(H_known,’Parent’) 获取H_known句柄对象之父对象的句柄 H_ch=get(H_known,’Children’) 获取H_known句柄对象之子对象的句柄 >> get(H_mesh,'Children') ans = Empty matrix: 0-by-1 >> get(H_mesh,'Parent') ans = 158.0062
>> view(3) >> text('Position',[.5 .5 .5],'String','Hello')
自动化科学与电气工程学院
句柄图形与GUI
句柄图形
对象句柄的获取方法 通过图形创建命令获取对象的句柄 在Matlab中无论使用高层命令还是底层命令都可以通过以下指令获取句柄。 H_GC=GraphicCommand(……….) >> H_mesh=mesh(peaks(20)) H_mesh = 159.0073
父对象
子对象
兄弟对象
自动化科学与电气工程学院
句柄图形与GUI
句柄图形
对象属性 所有对象都有一组定义和描述其外貌和性状的属性(Properties)。 属性有两个部分组成:属性名和属性值。 用户不仅可以查询当前对象的任意属性值,在创建图形对象的时候还可以指定大多 数属性的取值。
>> get(gcf) Color = [0.8 0.8 0.8] Colormap = [ (64 by 3) double array] CurrentAxes = [158.003] CurrentObject = [] NextPlot = add Position = [363 214 560 420] Children = [158.003] Parent = [0]
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
0
1
2
3
4
5
6
7
• h=surf(peaks(30)) • set(0,'defaultsurfaceedgecolor','w') • set(h,'edgecolor','default')
10
5
0
-5
-10 30
20 10 00
30 20 10
h=line(x,y)
set(0,'DefaultFigureColor',[0.5 0.5 0.5]) —— 将所有新图形窗口的颜色由省缺
值黑色设置为适中的灰色
1
0.5
0
set(h,'color','m','linewidth',2,'linestyle','*') ?
1
0.5
0
-0.5
-1
0
1
• 句柄图形充分体现了面向对象的程 序设计。
• 句柄图形的功能
❖ 句柄图形可以随意改变matlab生成图形 的方式。
❖ 句柄图形允许你定制图形的许多特性, 无论是对图形做一点小改动,还是影响 所有图形输出的整体改动。
❖ 句柄图形的特性高层绘图函数是无法实 现的
二、图形对象和句柄
1. 图形对象—— 图形系统中最基本、最 底层的单元
例:创建一个线对象并返回线对象的句柄值
• h1=line([0:10],[0:10])
h1 = 57.0001
h1为句柄的代码值
10
9
8
7
6
5
4
3
2
1
0
0
1
2
3
4
5
6
7
8
9
10
• 查阅线对象的属性名称和属性值
get(h1) Color = [1 1 0] EraseMode = normal LineStyle = LineWidth = [0.5] MarkerSize = [6] Xdata = [ (1 by 11) ] Ydata = [ (1 by 11) ] Zdata = []
例:在轴对象上(父代对象)设置线的颜 色省缺值为红色
x=0:2*pi/180:2*pi;
y=sin(2*x);
set(gca,'DefaultLineColor',[1 0 0]);
h=line(x,y)
1 0.8
1
0.6 0.8
0.4
0.2 0.6
h=
0
0.4
-0.2
0.2 -0.4
68.0001
10
9
8
7
6
5
4
3
2
1
0
0
1
2
3
4
5
6
7
8
9
10
10
9
8
7
6
5
4
3
2
1
0
0
1
2
3
4
5
6
7
8
9
10
例:作正弦、余弦曲线,将正弦曲线改为虚 线,将余弦曲线幅度减为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:')
4.句柄(handle)与句柄操作
• 什么是句柄?
句柄是图形对象的标识代码,标识代码 含有图形对象的各种必要的属性信息。
• 各图形对象的句柄数据格式:
根屏幕
0
图形窗口
整数,表示图形窗口数
其它对象
对应的符点数
• 所有能创建图形对象的matlab函数都可
给出所创建图形对象的句柄 例:创建1号窗口,返回句柄
• image 显示图象
h=image(x); x为图像矩阵
• text 标注文字 h=text(x,y,’string’)
确定标注位置
标注字符串
每个底层函数只能创建一个图形 对象,并将它们置于适当的父辈对象 中。
3.图形对象的属性 ※ 图形对象是由属性来描述的 例如: figure 大小位置 [1 1 640 480]
1100
8
56
4
2
0
0
-2
-5-4
-6
-10-8
6030
25
4200 15
2010
5
5
00 00
6300
25
4200
15
1200
4.其它操作 default —— 由父代继承 factory —— 厂家设定省缺值 remove —— 清除设定省缺值
父对象
界面控制 界面菜单 轴
子对象
线




图形对象之间的关系为父代与子代的关系
说明: 根:图形对象的根,对应于计算机屏幕,根
只有一个,其它所有图形对象都是根的后 代。
图形窗口: 根的子代,窗口的数目不限,所 有图形窗口都是根屏幕的子代,除根之外, 其它对象则是窗的后代。
界面控制:图形窗口的子代,创建用户界面 控制对象,使得用户可采用鼠标在图形上 作功能选择,并返回句柄。
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
界面菜单: 图形窗口的子代,创建用户界 面菜单对象
轴:图形窗口的子代,创建轴对象,并返回 句柄,线面字块像的父辈
线:轴的子代,创建线对象 面:轴的子代,创建块对象 字:轴的子代,创建字对象 块:轴的子代,创建块对象 像:轴的子代,创建图像对象
1
0.8
0.6
0.4Βιβλιοθήκη 0.20-0.2
-0.4
轴对象
窗口对象
Figure gca:当前轴对象的句柄 Get Current
Axes
• 操作格式: h=gcf 将当前窗口对象的句柄返回h get(h)或get(gcf) 查阅当前窗口对象的
属性 delete(gcf) 删除当前窗口的属性 例:h=line(x,y) 1. get(h) 2. get(get(gca,’children’) 轴的子代
线 对 象
面对象
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
0
5
x=-pi tp pi 文字对象
块对象
0
2.创建图形对象的底层函数
1
0.8 0.6 0.4
1
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
0
1
2
3
4
5
6
7
• 首先查询各对象的属性
get(gcf) · · ·
h=get(gcf,'children') h=
60.0004 hh=get(gca,'children') hh =
70.0004 69.0004 68.0004
• figure创建图形窗口 调用格式: h=figure(n) n为窗口序号 • uicontrol图形界面控制 调用格式: h=uicontrol(‘property’,value) property/value确定控制类型
• uimenu创建用户界面菜单 调用格式: h=uimenu(‘property’,value) property/value 确定菜单形式。 • axes 创建轴对象
’r’
‘linestyle’, ’:’
‘figurecolor’, ’m’
2.对象属性的继承操作 • 对象属性的继承操作是通过父代对象,
设置省缺对象属性来实现的。 • 父代句柄属性中设置省缺值后,所有
子代对象均可以继承该属性的省缺值。 • 属性省缺值的描述结构为:
Dfault+对象名称+对象属性
如:DefaultFigureColor —— 图形窗口的颜色
第五讲 matlab句柄绘图
——matlab语言的句柄绘图可以 对图形各基本对象进行更为细 腻的修饰,可以产生更为复杂 的图形,而且为动态图形的制 作奠定了基础。
高层绘图与底层绘图的区别
• 高层绘图函数——是对整个图形进行操 作的,图形每一部分的属性都是按缺省 方式设置的,充分体现了matlab语言的 实用性。
1. 对象属性的直接操作 对象属性的直接操作是通过当前句柄来
实现的,所以首先要获得当前句柄值以及 对象的属性,然后再查询或修改。
相关文档
最新文档