1.三者的功能定义:

2.matlab下的图形对象

图形对象是用以显示图形和用户界面元素的基本元素。下表列出了各种图形对象。

对象

描述

Root

对计算机屏幕最高级的对象

Figure

用来显示图形和用户界面的窗口

Axes

在窗口中显示图形的轴

Uicontrol

用户界面控制。执行一个对用户交互作用的函数。

Uimenu

用户定义窗口菜单

Uicontextmenu

右键单击对象时弹出的菜单

Image

二维像素基础图

Light

影响斑点和表面对象着色的光源

Line

用于诸如plot, plot3, semilogx 等函数的线

Patch

带边缘的填充多边形

Rectangle

二维形状,从矩形到椭圆

Surface

由x-y 平面以上的数据值所作图创建的矩阵数据的三维表示

Text

字符串

3. 图形对象级别

不同对象分布在一个树形结构级别里,反映它们的独立性。例如,线对象是在轴对象的框架下的。依次,轴对象只存在于figure 对象中。要想对gcf、gca 以及gco 之间的区别进一步的了解,MATLAB 中的句柄图形的了解是必要的,以下部分是MATLAB 句柄图形中关于gcf、gca 以及gco的部分,供大家参考。

句柄图形

什么是句柄图形?句柄图形是对底层图形例程集合的总称,它实际上进行生成图形的工作。这些细节通常隐藏在图形M 文件的内部,但如果想使用它们也是可得到的。

MATLAB 用户指南给人的一种印象是,句柄图形非常复杂,只对熟练的高级用户才有用。而实际上不是这样的。句柄图形可以被任何人用来改变MATLAB生成图形的方式,不论是只想在一幅图里做一点小变动,还是想做影响所有图形输出的全局变动。

句柄图形允许你定制图形的许多特性,而这用高级命令和前几章里描述的函数是无法实现的。例如,如果想用橘黄色来画一条线,而不是plot 命令中可用的任何一种颜色,该怎么做呢?句柄图形就可以提供一种方法。本章不对句柄图形作详细讨论,因为那样涉及问题太细。这里的目的只是对句柄图形概念作基本了解,并提供足够多的信息,使得即使是偶尔使用一下MATLAB 的用户也可以利用句柄图形。

在这个背景下,在本章最后给出了关于句柄图形对象属性和它们的值,它不仅很有用也很有意义。

4. 谁需要句柄图形?

开始,我们要强调本章主要是针对那些不满足于MATLAB 普通图形特性的读者。如果对所画的图形已经很满意,那么就跳过当前的讨论。如果以后要定制

图形,只要记住这里有可用的信息。

现在,对于那些还在犹豫的用户,我们要强调学习使用句柄图形并不困难。如果只想改变图形的标题字体,或者改变一个图形窗口的背景颜色,那么,你不必成为一个句柄图形的专家也可做到。另一方面,如果想定制图形,并且要打算对图形的每个可能方面进行控制,那么句柄图形会为此提供强有力的工具。前面那些章提供的图形功能被认为是高级的命令和函数,包括plot,mesh,axis 及其它。这些函数是建立在底层函数和属性的基础上,总称为句柄图形。

什么是句柄图形对象

句柄图形是基于这样的概念,即一幅图的每一组成部分是一个对象,每一个对象有一系列句柄和它相关,每一个对象有按需要可以改变的属性。当今计算机行业最流行的术语之一便是对象这个词。面向对象的编程语言,数据库对象,操作系统和应用程序接口都使用了对象的概念。一个对象可以被粗略地定义为由一组紧密相关、形成唯一整体的数据结构或函数集合。在MATLAB中,图形对象是一幅图中很独特的成分,它可以被单独地操作。由图形命令产生的每一件东西都是图形对象。它们包括图形窗口或仅仅说是图形,还有坐标轴、线条、曲面、文本和其它。这些对象按父对象和子对象组成层次结构。

计算机屏幕是根对象,并且是所有其它对象的父亲。图形窗口是根对象的子对象;坐标轴和用户界面对象(在下一章讨论)是图形窗口的子对象;线

条、文本、曲面、补片和图象对象是坐标轴对象的子对象。

根可包含一个或多个图形窗口,每一个图形窗口可包含一组或多组坐标轴。所有其它的对象(除了在下一章讨论的uicontrol 和uimenu 外)都是坐标轴的子对象,并且在这些坐标轴上显示。所有创建对象的函数当父对象或对象不存在时,都会创建它们。例如,如果没有图形窗口,plot(rand(size([1:10])))函数会用缺省属性创建一个新的图形窗口和一组坐标轴,然后在这组坐标轴内画线。

句柄对象

假设已打开了三个图形窗口,其中两个有两幅子图。并要改变其中一幅子图坐标轴内一条线的颜色,如何认定想要改变的那条线?在MATLAB 中,每一个对象都有一个数字来标识,叫做句柄。

每次创建一个对象时,就为它建立一个唯一的句柄。计算机屏幕作为根对象常常是0。? Hf_fig=figure 命令建立一个新的图形窗口,变量Hf_fig 中返回它

的句柄值。图形窗口的句柄为整数,通常显示在图形窗口标题条中。其它对象句柄是MATLAB 满精度的浮点值。

MATLAB 可以用来获得图形、坐标轴和其它对象的句柄。例如,Hf_fig=gcf返回当前图形窗口的句柄值,而 Ha_ax=gca 返回当前图形窗口内当前坐标轴

的句柄值。这些函数和其它对象操作的工具在本章以后讨论。

为了提高可读性,在本书中包含句柄对象的变量取名以大写的H 开头,跟之以一个辨识对象类型的字母,然后是一个下划线,最后是一个或几个描述符。

因此,Hf_fig 是一个图形窗口的句柄,Ha_ax1 是坐标轴对象的句柄,而Ht_title是一个文本对象的句柄。当对象类型不知道时,用字母x,比如Hx_obj。虽然

句柄变量可以取任意名字,遵循这种规则使得能在M 文件中很容易找到句柄变量。

所有产生对象的MATLAB 函数都为所建立的每个对象返回一个句柄(或句柄的列向量)。这些函数包括plot,mesh,surf 及其它。有一些图形由一个以

上对象组成。比如,一个网格图由一个曲面组成,它只有一个句柄;而waterfall图形由许多线条对象组成,每个线条对象都有各自的句柄。

例如,? Hl_wfall=waterfall(peaks(20)) 对线条返回一个包含着2 得了一个对象的句柄,它的对象类型可以通过查询对象的 'Type' 属性来获得。该属性是

一个字符串对象名,比如 'figure' ,'axes' 或 'text' 。例如:

x_type=get(Hx_obj, 'Type' )

MATLAB 中的函数gcf,gca 和gco 是很好的例子,它们说明如何利用句柄图形来获得有关对象的信息。函数gcf 获得根对象的 'CurrentFigure' 的属性

值,即是当前图形的句柄。gcf M 文件包含:

本文转自二郎三郎博客园博客,原文链接:http://www.cnblogs.com/haore147/p/3633010.html,如需转载请自行联系原作者

matlab的gca和gcf,MATLAB 中gcf、gca 以及gco 的区别相关推荐

  1. Matlab_GUI gcf、gca 以及gco 的区别用法

    gcf 返回当前Figure 对象的句柄值 gca 返回当前axes 对象的句柄值 gco 返回当前鼠标单击的句柄值,该对象可以是除root 对象外的任意图形对象,并且Matlab 会把当前图形对象的 ...

  2. Matlab快速绘制类似R语言中的散点密度图

    此前已经发布过博客 Matlab绘制散点密度图,其主要思路是计算每个点周围一定范围内的点个数.对于数据量较小时,该博客 Matlab绘制散点密度图 中的内容都能比较好的解决小数据量的问题,用时也在可接 ...

  3. matlab中conv滤波,其中是Matlab(imfilter)和TensorFlow中偶数滤波器(6x6)的中心像素(转速表nn.conv2d)?...

    在我的硕士论文中,我正在将一个卷积操作从一个Matlab代码移植到TensorFlow(pythonapi)中.例外的是,在Matlab中使用了一个均匀的滤波器大小(6x6).在 通过调试Matlab ...

  4. python变量存为matlab,详解如何在python中读写和存储matlab的数据文件(*.mat)

    背景 在做deeplearning过程中,使用caffe的框架,一般使用matlab来处理图片(matlab处理图片相对简单,高效),用python来生成需要的lmdb文件以及做test产生结果.所以 ...

  5. Matlab篇(二)MATLAB中addpath的用法 (转)

    MATLAB help 中的语法: addpath('folderName1','folderName2','folderName3' ...) addpath('folderName1','fold ...

  6. matlab 颜色势能,Matlab在模拟晶面势能分布中的应用

    ComputerKnowledgeand Technology 电脑知识与技术 本栏目责任编辑:唐一东人工智能及识别技术 第 6 卷第 31 期 (2010 年 11 月) Matlab 在模拟晶面势 ...

  7. matlab中存档算法代码,MATLAB 智能算法超级学习手册中程序代码

    [实例简介] MATLAB 智能算法超级学习手册中程序代码 [实例截图] [核心代码] dc90ef43-7920-434e-bdb8-0636c31c0b44 └── MATLAB 智能算法超级学习 ...

  8. 水库调度matlab,基于MATLAB模糊系统在水库调度中的应用初探_廖明潮

    文章编号:1009-4881(2004)01-0022-03 收稿日期:2003-04-25 修回日期:2003-12-15 作者简介:廖明朝(1968-),男,湖北省洪湖市人,讲师. 基于MATLA ...

  9. matlab给0数组赋值,MATLAB中怎么把一个函数的一部分赋值给一个变量或数组,比如怎么把sin(x)大于0的部分赋值给f....

    答:你可以编一个for循环么,判断sin(x)时候大于0,如果大于0 f=sin(x) 答:总体思路:设定筛选条件,将数组中符合条件的元素筛选出来(可以筛选出元素值也可以筛选出元素对应的下标),然后将 ...

  10. matlab在电磁场与电磁波中的应用,matlab在电磁场与电磁波学习中的应用.docx

    matlab在电磁场与电磁波学习中的应用.docx MATLAB在电磁场与电磁波学习中的应用裴逸菲(燕京理工学院信息科学与技术学院,河北廊坊065201)摘要针对电磁场与电磁波在大学课程中的理论性强. ...

最新文章

  1. 编程软件python下载-Python 2.7.6编程软件免费下载
  2. 洛谷 P4175: bzoj 1146: [CTSC2008]网络管理
  3. P1133 教主的花园
  4. tomcat服务器文件被清空,SpringBoot内置Tomcat缓存文件目录被意外删除导致异常
  5. 两人团队项目-石家庄地铁查询系统(web版)
  6. Decision Tree(DT)决策树
  7. Agent监控软件在IT工作中的应用
  8. C#调用Microsoft.DirectX.DirectSound问题记录及解决
  9. 【Java从0到架构师】SSM 整合(XML、纯注解)
  10. Ngnix的日志管理和用定时任务完成日志切割
  11. 通讯录 C语言分类,C语言 通讯录
  12. 信号处理之CFAR恒虚警检测
  13. jsp文字上下居中显示_div+css:页面整体布局居中显示:上下居中||垂直居中,左右居中||水平居中...
  14. python读取yml文件
  15. 如何找到近期要召开的国际上所有的学术会议
  16. C#使用Google翻译实现在线翻译
  17. Springboot+easyUI filebox实现单个文件上传
  18. 计算机应用基础全解,第三章习题-ddg全解.doc
  19. 魔方机器人大赛——总结感悟篇:干货篇
  20. python网络安全怎么学_新手如何学习网络安全?

热门文章

  1. MAC 使用brew安装java11并与java8共存
  2. 如何用ffmpeg合并音频和视频?
  3. HTML特殊字符符号大全
  4. html转邮件html格式转换,如何把电子邮件格式改成HTML格式
  5. 图计算简介和Pregel简介
  6. 计算机网络物理层之宽带接入技术
  7. HTML5 3D棒球游戏截图
  8. autojs版本的QQ聊天自动回复机器人源码免费分享,不需要root权限
  9. 无需软件,笔记本自带wifi功能,几条命令轻松搞定
  10. 软件工程师考试(高级)大纲