第五章matlab句柄绘图
实验六 MATLAB句柄绘图和GUI界面设计

西北农林科技大学实验报告学院名称:理学院专业年级:姓名:学号:课程:数学软件实验报告日期:2014年11月22日实验六MATLAB的句柄绘图与GUI界面设计一、实验目的MATLAB语言的句柄绘图可以对图形的各基本对象进行更为细腻的修饰,能产生更为复杂的图形,而且为动态图形的制作奠定了基础。
本次实验的目的是了解图形的基本结构,掌握图形对象之间的关系,熟悉图形对象属性的获取、设置与修改。
并能初步使用MATLAB 的GUI界面设计进行界面的设计,为将来进行软件开发打好基础。
二.实验要求MATLAB的底层图形修饰方法十分的丰富,通过本次实验,要求能体会句柄图形的概念,熟悉根屏幕、图形窗口、界面控制、界面菜单、轴、线、面、字、块、像等基本图形对象的创建和修改,熟练掌握基本图形对象的属性获取、设置与修改,会利用对象属性修改图形,会创建与修改界面控制与界面菜单。
能根据需要使用消息对话框、警告对话框、输入对话框、提示对话框、列表对话框、进度指示条等。
能初步设计出自己较为满意的GUI图形用户界面。
三.实验内容一、句柄图形的概念句柄图形(Handle Graphics):是一种面向对象的绘图系统。
该系统提供创建计算机图形所必须的各种软件。
它所支持的指令,可直接创建线、文字、网线、面以及图形用户界面。
在MATLAB中的图形系统中,所有的图形操作都是针对图形对象而言的,每个对象从创建时起就被赋予了唯一的标识,这种标识就是该图像的句柄。
1.图形对象MATLAB的图形对象包括计算机屏幕、图形窗口、坐标轴、用户菜单、用户控件、曲线、曲面、文字、图像、光源、区域块和方框等。
系统将每一个对象按树型结构组织起来。
每个具体图形不必包含每个对象,但每个图形必须具备根屏幕和图形窗口。
2.图形对象句柄MATLAB在创建每一个图形对象时,都为该对象分配唯一的一个值,称其为图形对象句柄(Handle)。
句柄是图形对象的唯一标识符,不同对象的句柄不可能重复和混淆。
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中利⽤图形句柄对图⽚属性进⾏设置的操作进⾏简单的总结说明:(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或通过如下图所⽰的属性窗⼝进⾏查询和设置。
第5章 MATLAB绘图

5.1 二维图形
4. 对函数自适应采样的绘图函数
fplot函数的调用格式为: fplot(fname,lims,tol,选项) 例5.11 用fplot函数绘制f(x)=cos(tan(πx))的曲线。 先建立函数文件myf.m:
function y=myf(x) y=cos(tan(pi*x));
t=0:pi/20:2*pi; [x,y,z]= cylinder(2+sin(t),30); subplot(1,3,1); surf(x,y,z); subplot(1,3,2); [x,y,z]=sphere; surf(x,y,z); subplot(1,3,3); [x,y,z]=peaks(30); meshz(x,y,z);
5.2 三维图形
5.2.1 绘制三维曲线的基本函数
plot3函数与plot函数用法十 分相似,其调用格式为: plot3(x1,y1,z1,选项 1,x2,y2,z2,选项2,…,xn,yn,zn, 选项n) 程序如下:
t=0:pi/50:2*pi; x=8*cos(t); y=4*sqrt(2)*sin(t); z=-4*sqrt(2)*sin(t); plot3(x,y,z,'p'); title('Line in 3-D Space');text(0,0,0,'origin'); xlabel('X'),ylabel('Y'),zlabel('Z');grid;
5.1 二维图形
例5.4 用不同标度在同一坐标内绘制曲线
y1=e-0.5xsin(2πx)及曲线y2=1.5e-0.1xsin(x)。
程序如下:
matlab中的句柄

matlab中的句柄在matlab中,每一个对象都有一个数字来标识,叫做句柄.当每次创建一个对象时,matlab就为它建立一个唯一的句柄句柄中包含有该对象的相关信息参数,可以在后续程序中进行操作,改变其中的参数,以便达到不同的效果例如:gcf 是返回当前被激活的窗口的句柄。
你可以认为它就指代当前窗口。
figure(gcf)打开这个窗口。
这两天在看句柄式图形方面的东西,以下是我在看书过程中整理的学习笔记,比较详细的介绍了句柄以及与其密切相关的各种图形对象和它们的属性。
希望能对初学Matlab界面设计的朋友们有所帮助。
GUI学习笔记:句柄式图形常用函数:(1)get(h)返回句柄值h所指定的图形对象的所有属性名称与相对应的属性值(2)a = get(h)返回由句柄值h所指定的图形对象的属性结构数组,并且该数组的字段名称就是该对象的属性名称。
(3)a = get(0,'factory')返回所有能由用户设置的属性的默认定义值。
(4) a = get(0,'FactoryObjectTypePropertyName1','FactoryObjectTypePr opertyName2',...)返回指定对象类型指定的属性值,输入参数FactoryObjectTypePropertyName为一个关键词,由字符Factory 与图形对象类型(如Figure)还有属性名称(如Color)组成。
a = get(0,'factoryFigureColor')返回Figure对象的Color属性值。
(5) a = get(h,'DefaultObjectTypePropertyName1','DefaultObjectTypePr opertyName1',...)返回句柄值为h的对象指定属性的默认值。
如“DefaultFigureColor”。
MATLAB应用第五章-MATLAB图形和3D可视化

th=[0:pi/50:3*pi]'; a=[0.5:0.5:5.5] Y=cos(th)*a; X=sin(th)*sqrt(25-a.^2); plot(X,Y) axis('equal') xlabel('X') ylabel('Y') title('a group of Ellipse lines')
F5运行结果如图 Eg 5-5
若没有axis(‘equal’)则显示如下: equal 将x和y轴的坐标进行比例协调,使其显 示相等。
5.2.2 线型、顶点标记和颜色
色彩(c) 说明 数据点(m) r g b c m y k w 红色 绿色 蓝色 青色 洋红 黄色 黑色 白色 + O * . x s d ^ v > < p h 说明 加号 圆圈 星号 点 十字 矩形 菱形 上三角 下三角 右三角 左三角 五边形 六边形 Eg 5-6 线型( ) 线型(l) -: -. 说明 实线 虚线 点线 点划 线
Eg 5-11 pie(x):对所有向量x中的元素进行总计,显示每一部 分所占比例 pie(x,explode):定义一个与x同长度向量explode,对 应于非零元素的x值被抽出显示 pie(…,labels):标注扇形图,labels必须与前面向量具 有相同长度
Eg 5-12
在命令窗口输入下列命令” 在命令窗口输入下列命令” >> x=1:12; >> y=[-12 -6 4 11 23 26 36 30 21 17 10 3]; >> bar(x,y) >> xlabel('month'),ylabel('tempereature'); >> title('relationship')
详尽全面的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绘图代码以及代码说明文档1.绘制椭圆曲线1)clear:指令,用于清空工作空间2)clc用于清空命令窗口.3)color=’gbkymcrgb’;表示一串字符,可以理解为一个字符的数组(或向量).4)a=4。
5:-0。
5:0.5;上述的a为一个向量(或数组),其取值从4.5开始,每间隔—0。
5取一个数,直到0.5为止。
即a=4.5,4,3.5…0.5;5)for——end是一个循环体,以end结束。
for i=1:1:length(a)表示循环的次数,i从1开始,每次加1,直到length(a)为止,length(a)表示数组(向量)a的长度。
6)a(i)表示a的第i个元素,a(1)=4.5;7)x。
*x表示向量x对应的元素相乘,由于x是向量,因此称号前面有一点。
8)((a(i))^2)表示a的第i个元素的平方。
9)sqrt(a),是一个函数,对a进行开方.10)color(i)是字符数组color的第i个元素,数组前面有定义。
11)hold on是图像保持,就是绘制下一个椭圆时,上一个已经绘制的仍在图形界面上,不会消失。
2.多图形绘制1)sin(t)表示对t求它的正弦,是一个正弦函数.2)subplot(2,2,1),是一个函数,第一个参数2表示将绘图的窗口分割成两行显示;第二个参数2表示将绘图的界面分为两列显示,因此为两行两列4块显示。
第三个参数1表示在第1块(从左向右,从上向下)绘制图像。
3)plot(t1,y1,'.r’)其中,"。
”表示图像的形状为“点”,r为颜色。
4)axis([0,3。
1427,—1,1])表示固定坐标轴,只显示x轴的0到3.1427的区间;y轴的—1到1的区间.5)plot(t1,y1,'b'),由于b前面没有一点,因此是坐标点之间的连线。
6)title(’子图(3)’)表示该图的标题为“子图(3)”,是一个函数,参量为字符串。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 句柄图形的功能
❖ 句柄图形可以随意改变matlab生成图形 的方式。
❖ 句柄图形允许你定制图形的许多特性, 无论是对图形做一点小改动,还是影响 所有图形输出的整体改动。
❖ 句柄图形的特性高层绘图函数是无法实 现的
二、图形对象和句柄
1. 图形对象—— 图形系统中最基本、最 底层的单元
Figure gca:当前轴对象的句柄 Get Current
Axes
• 操作格式: h=gcf 将当前窗口对象的句柄返回h get(h)或get(h,'属性名'): 查阅某对象的属性
或子(children)父(parent)代的句柄值 set(h, ‘属性名’, ‘属性值’):设置或修改
某对象的属性值
界面菜单轴: 图形窗口的子代,创建用户 界面菜单对象
轴:图形窗口的子代,创建轴对象,并返回 句柄,线面字块像的父辈
线:轴的子代,创建线对象 面:轴的子代,创建面对象 字:轴的子代,创建字对象 块:轴的子代,创建块对象 像:轴的子代,创建图像对象
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
轴对象
窗口对象
• 底层绘图函数——可以定制图形,对图 形的每一部分进行控制,用户可以用来 开发用户界面以及各专业的专用图形。 充分体现了matlab语言的开发性
一、什么是句柄图形
• 句柄图形:利用底层绘图函数,通 过对对象属性的设置(Handle Graphics)与操作实现绘图。
• 句柄图形中所有图形操作都是针对 图形对象而言的。
引例:
1
1
0.8
x=0:2*pi/180:2*pi;
0.6 0.8
0.4
0.2 0.6
y1=sin(2*x);
0
0.4
y2=cos(2*x);
-0.2
0.2 -0.4
plot(x,y1,x,y2)
-0.6
0
-0.8
-10-0.2 1
2
3
4
5
6
7
图形对象的基本要素以根屏幕为先导
根屏幕
窗口1 窗口2 窗口n
get(gca,'colororder') ans =
110 101 011 100 010 001
• 设置线条和窗口的颜色 set(h1,'color',[1 0 0]) set(h1,'color',[1 0.5 0])
10
10
9
9
8
8
7
7
6
6
5
5
4
4
3
3
set(gcf,'color',[0.5 0.5 0.5]) set(gcf,'color',[0.5 0.6 0.8])
对象属性的直接操作是通过当前句 柄来实现的,所以首先要获得当前句柄 值以及对象的属性,然后再查询或修改。
1、图形对象属性的获得与设置
• 句柄属性的设置与修改 get: 获得句柄图形对象的属性和返回某
些对象的句柄值 set: 改变图形对象的属性 • 专用函数: gcf:当前窗口对象的句柄 Get Current
• surface 创建面对象 h=surface(x,y,z,c) x,y,z三维曲面坐标, c颜色矩阵。
• image 显示图象
h=image(x); x为图像矩阵
• text 标注文字 h=text(x,y,’string’)
确定标注位置
标注字符串
每个底层函数只能创建一个图形 对象,并将它们置于适当的父辈对象 中。
‘figurecolor’, ’m’
2.对象属性的继承操作 • 对象属性的继承操作是通过父代对象,设置缺
省对象属性来实现的。
• 父代句柄属性中设置缺省值后,所有子代对象 均可继承该属性的缺省值。
• 属性缺省值设置有两种: 厂家设置值:其值不可更改 用户设置:当前环境下有效, 搜索顺序:子父祖父
• 属性缺省值的描述结构为: Dfault+对象名称+对象属性
– 通过编辑修改属性值可以改变图形
3.图形对象的属性 ※ 图形对象是由属性来描述的 例如: figure 大小位置 [1 1 640 480]
颜色 [ 0 0 0] 省缺 line a. x, y 数据;b. 线的颜色
c. 线型; d. 线宽
※在高层绘图中对图形对象的描述一般是省 缺的或由高层绘图函数自动设置的,因此 对用户来说几乎是不透明的。
• 所有能创建图形对象的matlab函数都
可给出所创建图形对象的句柄 例:创建1号窗口,返回句柄
h=figure(1) h=1 返回值为窗口号数 例:h=line (1:6,1:6)创建线对象的同时 也建立了一个唯一的句柄 变量h是句柄值——浮点数
二、对象的属性操作
控制一个图形对象是通过句柄实现 的,具体是通过句柄操作函数get,set 将某对象句柄属性作设置与修改。
第五章 matlab句柄绘图
——matlab语言的句柄绘图可以 对图形各基本对象进行更为细 腻的修饰,可以产生更为复杂 的图形,而且为动态图形的制 作奠定了基础。
高层绘图与底层绘图的区别
• 高层绘图函数——是对整个图形进行操 作的,图形每一部分的属性都是按缺省 方式设置的,充分体现了matlab语言的 实用性。
例:h=line(x,y) 1. get(h) 2. get(get(gca,’children’) ,1)轴的子代
- 对象句柄的获取 基本方法
– 从图形创建指令获得句柄 – 追溯法获取图柄 – 当前对象句柄的获取 – 根据对象特性获取句柄 – 根据对象标签获取句柄
- 追溯方式
>> H_pa= get(H_known,’Parent’)
※但句柄绘图中上述图形对象都是用户需要 经常使用的,所以要作到心中有数,用句 柄设置图形对象的属性。
4.句柄(handle)与句柄操作
• 什么是句柄?
句柄是图形对象的标识代码,标识代码 含有图形对象的各种必要的属性信息。
• 各图形对象的句柄数据格式:
根屏幕
0
图形窗口
整数,表示图形窗口数
其它对象
对应的符点数
-0.6 -0.8
0
-1-00.2
1
2
3
4
5
6
7
-0.4
1
-0.6 1
set(h,'color','default')
0.8
0.6-0 0..8 8
0.4
0.Hale Waihona Puke 0-.6 1012
3
• uicontrol图形界面控制 调用格式:
h=uicontrol(‘property’,value) property/value确定控制类型 • uimenu创建用户界面菜单 调用格式:
h=uimenu(‘property’,value) property/value 确定菜单形式。
hm=uimenu(gcf, 'Label', 'File') hm1=uimenu(hm, 'Label', 'Save') hm3=uimenu(hm,'Label','&Quit',
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 = []
• figure创建图形窗口 调用格式: h=figure(n) n为窗口序号
• axes 创建轴对象
h=axes(‘position’,
left, bottom width,height
)
定义轴对象的位置与大小
• line 创建线对象 h=line(x,y,z)
• patch 创建块对象 h=patch(x,y,z,c) x,y,z定义多边形,c 确定填充颜色。
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:')
父对象
界面控制 界面菜单 轴
子对象
线
面
字
块
像
图形对象之间的关系为父代与子代的关系
说明: 根:图形对象的根,对应于计算机屏幕,根
只有一个,其它所有图形对象都是根的后 代。
图形窗口: 根的子代,窗口的数目不限,所 有图形窗口都是根屏幕的子代,除根之外, 其它对象则是窗的后代。