matlab图形句柄+图形对象+图形对象的属性+对象操作

文章目录

      • 前言:
      • 图形对象:
      • 图形句柄:
      • 图形对象的属性:
      • 对象的基本操作
      • figure对象(图形窗口)
        • figure()函数:
        • clf()函数清空当前图形窗口:
      • axes坐标轴对象
      • image()
      • line()
      • text()

前言:

下面这些是为了更好地写回调函数。例子我后面会整出来,都是可以在gui里面整的,非常强,先罗列一下基本知识及定义。

图形对象:

Matlab中,把用于数据可视化和界面制作的基本绘图要素称为图形对象。每一个具体的图形都是由若干不同的图形对象构成。

图形句柄:

matlab在创建每一个图形对象时,都为该对象分配唯一的一个值, 称其为图形对象句柄。句柄是图形对象的唯一标识符,不同对象的句柄不可 能重复和混淆

计算机屏幕作为根对象(root)由 系统自动建立,其句柄值为0。而图形窗口对象(figure)的句柄值为一正整数,并显示在该窗口的标题栏。其他图形对象的句柄为浮点数。

MATLAB在创建各种对象时,会产生该对象的句柄,通过句柄可以实现对该对象的各种控制和设置

MATLAB提供了若干个函数用于获取已有图形对象的句柄。

图形对象的属性:

图形对象的属性是 一些特殊值,可以对图形对象进行控制和设置。每个属性都有一个属性名和属性值。
属性名通常是采用大小写字母组成的字符串,第一个字母大写。但是在MATLAB中,图形对象的属性名不区分大小写。

用户可以在创建图形对象时,对属性值进行设置。如果用户没有对属性值进行设置,则所有的属性都会自动初始化为系统的默认值。例如figure(‘Toolbar’,‘none’,‘Menubar’‘none’),将创建没有工具栏和菜单的图形窗口。

图形对象的属性非常多,通常在创建图形对象后,通过句柄对属性值进行修改。利用函数ge()获取图形对象的属性值,通过函数set()设置图形对象的属性值

对象的基本操作

获取当前图形对象的函数:

函数说明
gcf()获取当前图形窗口的句柄
gca()获取当前图形窗口中坐标轴的句柄
gco()获取当前图形窗口中当前对象的句柄
gcbf()获取正在执行的回调程序对应的对象所在窗口的句柄
gcbo()获取正在执行的回调程序对应的图像句柄

除了get()和set()获取和设置图形对象的属性之外,还可以有其他操作:

函数说明
reset()对象的复位,恢复为默认值
findobj()对象的查找
findall()查找所有对象,包括隐藏的对象
copyobj()对象的复制
delete()对象的删除
allchild()查找所有的子对象
ancestor()查找对象的父对象

figure对象(图形窗口)

figure()函数:

Syntax

figure
figure('PropertyName',propertyvalue,...)
figure(h)
h = figure(...)

Description

figure creates a new figure window using default property values. This new figure window becomes the current figure, and it displays on top of all other figures on the screen. The title of the figure is an integer value that is not already used by an existing figure. MATLAB® saves this integer value in the figure’s Number property.

figure(‘PropertyName’,propertyvalue,…) creates a new figure window using specific property values. For a list of available properties, see Figure Properties. MATLAB uses default values for any properties that you do not explicitly define as arguments.
创建属性为PropertyName,值为propertyvalue的图形窗口

figure(h) does one of the following:

If h is the handle or the Number property value of an existing figure, then figure(h) makes that existing figure the current figure, makes it visible, and moves it on top of all other figures on the screen. The current figure is the target for graphics output.
If h is not the handle and is not the Number property value of an existing figure, but is an integer, then figure(h) creates a figure object and assigns its Number property the value h.
If h is not the handle to a figure and is not a positive integer, then MATLAB returns an error.

h = figure(…) returns the handle to the figure object.

clf()函数清空当前图形窗口:

只是清空而不关闭,如果关闭图形窗口采用close().
close all关闭所有

Syntax

clf
clf('reset')
clf(fig)
clf(fig,'reset')
figure_handle = clf(...)

Description

clf
deletes from the current figure all graphics objects whose handles are not hidden (i.e., their HandleVisibility property is set to on).

clf(‘reset’)
deletes from the current figure all graphics objects regardless of the setting of their HandleVisibility property and resets all figure properties except Position, Units, PaperPosition, and PaperUnits to their default values.

clf(fig) or clf(fig,‘reset’)
clears the single figure with handle fig.
清除窗口fig中所有不隐藏的对象

figure_handle = clf(…)
returns the handle of the figure. This is useful when the figure IntegerHandle property is off because the noninteger handle becomes invalid when the reset option is used (i.e., IntegerHandle is reset to on, which is the default).

例子:

figure;
t=-pi:pi/20:pi;
plot(t,cos(t),'r');%绘制曲线
pause(3);
clf(gcf);%清空图形窗口内容
pause(3);
close(gcf);%关闭图形窗口

axes坐标轴对象

Syntax

axes
axes('PropertyName',propertyvalue,...)
axes(parent,...)
axes(h)
h = axes(...)

Description

axes creates an axes graphics object in the current figure using default property values. axes is the low-level function for creating axes graphics objects. MATLAB® automatically creates an axes, if one does not already exist, when you issue a command that creates a graph.

axes(‘PropertyName’,propertyvalue,…) creates an axes object having the specified property values. For a description of the properties, see Axes Properties. MATLAB uses default values for any properties that you do not explicitly define as arguments. The axes function accepts property name/property value pairs, structure arrays, and cell arrays as input arguments (see the set and get commands for examples of how to specify these data types). While the basic purpose of an axes object is to provide a coordinate system for plotted data, axes properties provide considerable control over the way MATLAB displays data.

axes(parent,…) creates the axes in the figure, uipanel, or uitab specified by parent, instead of in the current figure.

axes(h) makes existing axes h the current axes and brings the figure containing it into focus. It also makes h the first axes listed in the figure’s Children property and sets the figure’s CurrentAxes property to h. The current axes is the target for functions that draw image, line, patch, rectangle, surface, and text graphics objects.

If you want to make an axes the current axes without changing the state of the parent figure, set the CurrentAxes property of the figure containing the axes:

set(figure_handle,‘CurrentAxes’,axes_handle)
This command is useful if you want a figure to remain minimized or stacked below other figures, but want to specify the current axes.

h = axes(…) returns the handle of the created axes object.

Use the set function to modify the properties of an existing axes or the get function to query the current values of axes properties. Use the gca command to obtain the handle of the current axes.

The axis (not axes) function provides simplified access to commonly used properties that control the scaling and appearance of axes.

Set default axes properties on the figure and root levels:

set(groot,‘DefaultAxesPropertyName’,PropertyValue,…)
set(gcf,‘DefaultAxesPropertyName’,PropertyValue,…)
PropertyName is the name of the axes property and PropertyValue is the value you are specifying. Use set and get to access axes properties.

利用函数gca可以获取当前坐标轴的句柄,因此,利用get(gca)可获取当前坐标轴的属性。通过函数set(gca,‘PropertyName’,‘PropertyValue’)可以对坐标轴的属性进行设置

例子:

figure;
h=axes;
set(h,'Color',[1 0 0]);
set(h,'Units','Centimeters');

image()

clear all;
close all;
A=imread('C:\Users\***\Desktop\dogg.png','png');
A=im2double(A);
h=image(A);%高级调用
set(gca,'xlim',[0 500],'ylim',[0 400]);
get(h,'type');

在这里插入图片描述

clear all;
close all;
A=imread('C:\Users\***\Desktop\dogg.png','png');
A=im2double(A);
h=image('CData',A);%采用CData属性进行图像显示
set(gca,'xlim',[0 500],'ylim',[0 400]);
get(h,'type');

在这里插入图片描述

加一个set(gca,‘ydir’,‘reverse’)可将坐标轴y轴反向,从而使两幅图相同

line()

为了方便,我直接做成表格了

SyntaxDescription
line
line(X,Y)绘制二维曲线
line(X,Y,Z)绘制三维曲线
line(X,Y,Z,‘PropertyName’,propertyvalue,…)对线条对象的属性进行设置
line(‘XData’,x,‘YData’,y,‘ZData’,z,…)
line(ax,…)
h = line(…)返回线条对象的句柄

例子:

clear all;
close all;
t=0:pi/20:pi;
x=sin(t);
y=cos(t);
z=sin(t).*cos(t);
h=line(x,y,z);%线条对象
set(h,'LineWidth',2,'color',[1 0 0]);%设置属性值
view(3);%改变视角
set(gca,'xgrid','on','ygrid','on','zgrid','on');%设置网格
set(gcf,'position',[200,200,400,400]);%设置图形窗口位置和大小

此外还可通过LineStyle设置线条类型,Marker设置数据点的标记类型,Markersize设置标记点的大小

结果:
在这里插入图片描述

text()

SyntaxDescription
text(x,y,str)在当前坐标轴中的位置(x,y)显示字符串string
text(x,y,z,str)在三维坐标轴中的位置(x,y,z)显示字符串string
text(___,Name,Value)对文本对象的属性进行设置
text(ax,___)
t = text(___)返回text文本对象的句柄

例子:

clear all;
close all;
h1=text(0.3,0.5,'hi,my friend');
set(h1,'Color',[1 0 0]);
h2=text(0.5,0.8,'hi,my friend');
set(h2,'FontSize',14);
set(h2,'BackgroundColor',[0 1 0]);
h3=text(0.6,0.1,'hi,my friend','FontSize',13);
set(h3,'rotation',90);

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/560631.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

echart 高度 不用 不撑满_注意厨房台面高度及细节 装出省心舒服 装出事半功倍...

厨房的装修设计最好还是细节做得好,细节做得能达到事半功倍的效果,厨房台面高度如何设计才是最合适呢?我们一起走进包头装修网了解一下吧!下面三个台面的设计细节,也许就能让你家的厨房突然变得好用起来——哪怕你可能…

利用matlab guide制作简易计算器

前言: 当然了这个太简单了,新手可以借鉴一下,举一反三的话还可以添加一些功能或者简洁一些。比如下拉框啊之类的 而且呢,这个你弄明白了,所有运算有关的,输入输出有关的,都大致相同。 实现过程…

linux复制目录命令夹,linux复制目录(文件夹)和打包命令

linux复制目录(文件夹)和打包命令复制目录命令: cp 需要复制的目录 -r 目的目录 (注意带参数-r)压缩文件:zip -r 压缩后文件名 需要压缩的目录喎?http://www.Bkjia.com/kf/ware/vc/" target"_blank" class"keylink">vcD4KP…

c#怎么拟合函数得到参数_吴恩达老师课程笔记系列第32节 -正则化之代价函数(2)...

第32节 -正则化之代价函数(2)参考视频: 7 - 2 - Cost Function (10 min).mkv 上面的回归问题中如果我们的模型是:我们可以从之前的事例中看出,正是那些高次项导致了过拟合的产生,所以如果我们能让这些高次项的系数接近于 0 的话,我…

Matlab guide菜单+快捷菜单的使用

菜单选择: Opening函数: openingFcn执行于窗口可见之前,这个时候你想做什么的话可以把代码写进去 function plott_OpeningFcn(hObject, eventdata, handles, varargin) t1/200:1/200:1; plot(t,sin(2*pi*t*10),r);几个回调函数: …

c向文件中插入数据_如何把数据写入顺序文件中,VBA代码中Write#语句的利用

大家好,我们今日继续讲解VBA代码解决方案的第132讲内容:使用 Write #语句把数据写入打开顺序文件中。在上一讲的内容中我们讲了打开一文本文件来写入数据的两种方法有:Append或Output,那么问题来了,如何往打开的文件中…

JavaScript变量声明+数据类型+数字格式+操作符+进制

文章目录1.那些高大上的概念术语都是指什么什么是web应用?什么是前台后台?怎么做网页界面呢?JavaScript可以应用到什么上面?2.JavaScript实例:3.语言基础变量声明数据类型基本数据类型:引用数据类型&#x…

linux 磁盘簇,linux系统exec簇工作原理

操作系统是一个用来和硬件打交道并为用户程序提供一个有限服务集的低级支撑软件。一个计算机系统是一个硬件和软件的共生体,它们互相依赖,不可分割。计算机的硬件,含有外围设备、处理器、内存、硬盘和其他的电子设备组成计算机的发动机。但是…

JavaScript 函数定义+内置函数使用+array对象+object类型

文章目录函数定义random()setInterval()setTimeout()数组对象object函数定义 两种格式: function 自定义函数名称(参数1,参数2,...,参数n){ //函数体 return 返回值; }函数表达式写法(匿名函数)&#xff…

jmeter进程和线程的区别_一文搞懂进程和线程的区别

计算机系统是由硬件和软件组成的,它们共同协作以运行应用程序。先来看下面这张一个典型的计算机系统的硬件组成图从上图中看出一个系统由 CPU、ALU(算术逻辑单元)、PC(程序计数器)、总线(贯穿整个系统的一组电子管道)、IO设备、主存等组成。这些硬件的管理都是由操作…

BOM+DOM+JavaScript读取与操作网页对象

DOM 网页的元素有多种定义方式,那我们怎么描述或指定页面上某个元素呢。为了统一方式,产生了document object model 标准 以HTML表单为例, 文本字段前面的标题由label标签声明 每个表单字段都通过id属性设置唯一的识别名称,用于让…

datax 导入数据中文乱码_DataX在有赞大数据平台的实践

文| 小木 on 大数据一、需求有赞大数据技术应用的早期,我们使用 Sqoop 作为数据同步工具,满足了 MySQL 与 Hive 之间数据同步的日常开发需求。随着公司业务发展,数据同步的场景越来越多,主要是 MySQL、Hive 与文本文件之间的数据同…

网页中嵌入JavaScript+事件触发程序

嵌入方式&#xff1a; 1.JavaScript代码与HTML写在同一个文档中 JavaScript代码要放在<script>和</script>标签之间 而且整个JavaScript代码最好放在</body>前&#xff0c;这样可以让浏览器先加载并显示主体 2.JavaScript代码单独存成.js文件&#xff0c;…

sql相同顺序法和一次封锁法_数学专题 | Ep01 隔板法的妙用

数学专题(一) 隔板法的妙用浓度常见哪些问题?排列组合分堆&#xff1f;涂色&#xff1f;到底掌握透彻了吗&#xff1f;解析几何与韦达定理&#xff1f;公式总是记不住&#xff1f;应用题还不会解&#xff1f;除了写作(写作听我的)、逻辑(逻辑说)专题外&#xff0c;本周起我们也…

通过CDN引用jQuery库+jQuery的使用+网页实现计算器的功能

jQuery是什么&#xff1f;有什么用&#xff1f; jQuery是javascript库&#xff0c;其实就是一堆的js函数&#xff0c;方便我们来调用&#xff0c;提高我们的开发效率 免费开源&#xff0c;支持主流浏览器&#xff0c;简化选取网页元素的语法&#xff0c;简易的读取设置元素的…

linux dev alloc name,深入理解Linux网络技术内幕-设备注册和初始化(二)

NIC注册和注销的通用架构Linux系统中NIC网络设备驱动程序利用网络代码进行注册和注销有其通用的架构&#xff0c;这里以PCI Ethernet NIC为例&#xff0c;其他设备类型只是所以函数名称和调用方式不同&#xff0c;主要依据于设备总线提供的接口。其中(a)为设备注册的大致流程图…

外贸常用术语_外贸中常用的会计术语及付款方式术语 | 会计英语

点击上面“财经英语”关注公众号&#xff01;点击下面小程序加入: 学习圈财经英语 学习圈 预付现金 Cash advance 凭提货单支付现金 Cash against Bill of Lading (B/L) 凭单据付现款||凭装货单付现款 Cash against Documents 现金结存||现金差额 Cash balance 现收现付制||现金…

python 多维list 排序_一行代码的优雅| Python列表生成式

欢迎回来&#xff0c;上一周我们整理了基础课中三大结构有关内容的具体应用及案例。可以通过以下几篇推文进行回溯&#xff1a;Python语言基础50课我的Python - 100天笔记 |D1-D7我的Python - 100天笔记 |D8-D14列表是Python中非常常见的数据结构&#xff0c;在基础课中也占了不…

verilog 生成块_如何高效的编写Verilog——终极版

为了高效的编写Verilog&#xff0c;通常有些编辑器插件可以自动生成代码&#xff0c;比如自动端口定义&#xff0c;自动连线&#xff0c;自动实例化等等。公司的环境有很好用的自动化插件&#xff0c;想给自己的电脑也整个怎么做。比如Emacs中有个插件叫verilog-mode。但是博主…

剩余 大小 查看内存_JVM的内存分配策略以及进入分代的条件

JVM的参数和知识点太多啦&#xff0c;记录下来&#xff0c;供自己随时回顾。java对象什么时候进入年轻代&#xff08;新生代&#xff09;&#xff1f;java对象什么时候进入老年代&#xff1f;对象优先在Eden分配大对象直接进入老年代空间分配担保机制java对象什么时候进入年轻代…