MATLAB图形界面设计(上)
参考https://www.cnblogs.com/BlueMountain-HaggenDazs/p/4307777.html
一、图形句柄
1、定义
MATLAB在创建每一个图形对象时,都会给该对象分配一个唯一确定的值,称其为图形对象句柄。
PS:(1)计算机屏幕句柄默认为0.
(2)图形窗口对象的句柄值为一正整数,并显示在窗口标题栏中
(3)其他图形对象的句柄为浮点数。
2、获取已有对象的句柄

直接输入该代码结果如下图:
(1)gcf:
(2)gca:

(3)gco:

代码示例:
x=linspace(,*pi,); y=sin(x); h0=plot(x,y,'r') %曲线对象的句柄 h1=gcf %图形窗口句柄 h2=gca %坐标轴句柄 h3=findobj(gca,'Marker','x') %坐标轴上曲线的句柄
结果输出各个对象的句柄。
3.图形对象属性
(1)set函数
set(句柄,属性名1,属性值1,属性名2,属性值2,……)
其中句柄指明要操作的对象,set中的属性可以全部缺省
(2)get函数
V=get(句柄,属性名)
V是返回的属性值,如果省略属性名,则返回句柄的所有属性值。
x=linspace(); y=sin(x); h=plot(x,y);%先将图形句柄赋值给h col=get(h,'Color'); %得到曲线的颜色 V=,'ScreenSize'); %得到当前窗口的平屏幕分辨率
4.对象的公共属性
(1)Children属性:
取值是该对象所有子对象的句柄组成的一个向量。
(2)Parent属性:
取值是该对象父对象的句柄。
(3)Tag属性:
取值是一个字符串,作为对象的一个标识符(别名)
(4)Type属性:
表示该对象的类型(显然是不可以改变的)
(5)UserData属性:
该属性的取值是一个矩阵,缺省值为空矩阵。一般将一个图形对象有关的比较重要的数据储存在这个属性中,借此达到传送数据的作用。
一般做法:先用set函数给某一句柄添加一些附加数据(一个矩阵),如果想使用这样的矩阵,再用get调用出来。
(6)Visible属性:
取值是on(缺省值)或off。决定是否显示在屏幕上。但是不显示不代表不存在。
(7)ButtonDownFcn属性:
取值是一个字符串,一般是某个M文件名或一段MATLAB程序。图形对象巨鼎了一个作用区域,当单击该区域时,MATLAB自动执行该程序段。
(8)CreatFcn属性:
取值是一个字符串,一般是某个M文件名或一段MATLAB程序。当创建该对象时自动自行该程序段(同构造函数)
(9)DeleteFcn属性:
取值是一个字符串,一般是某个M文件名或一段MATLAB程序。当取消该对象时自动自行该程序段(同析构函数)
5.示例
x=:pi/:*pi;
y=sin(x);
z=cos(x);
plot(x,y,'r',x,z,'g');
H1=get(gca,'Children'); %获取两曲线句柄向量H1
:size(H1)
] %【,,】表示绿色
H1g=H1(k); %获取绿色线条句柄
end
end
pause; %暂停
set(H1g,'LineStyle',':','Marker','p'); %对绿色线条进行设置。
二、图形对象创建
1.窗口对象
句柄变量=figure(属性名1,属性值1,属性名2,属性值2); %属性名和属性值可以缺省,则命令如下 句柄变量=figure 或者 figure figure(窗口句柄) %设置为当前窗口。 close(窗口句柄) %关闭图形窗口 close all; %关闭全部图形窗口 clf; %清除当前图形窗口的内容,但不关闭窗口。
(1)MenuBar属性
取值是figure(缺省值)或none,用来控制窗口是否有菜单条。
如果属性为none,那么用户可以使用uimenu函数来加入自己的菜单条。
如果属性为figure,那么窗口保持默认的菜单条,这时可以采用uimenu函数在原默认的图形窗口菜单后面添加新的菜单项。
(2)Name属性
取值是字符串,缺省值为空,作为图形串口的标题
(3)NumberTitle属性:
取值是on(缺省值)或者off。决定是否以“Figure No.n:“为标题前缀,这里n是图形窗口的序号,即句柄值。
(4)Resize属性:
取值为on(缺省值)或off。决定在窗口对象建立后可否用鼠标改变该窗口的大小
(5)Position属性
(6)Units属性:
该属性的取值可以是下列字符串的任何一种:
pixel(像素,缺省值),normalized(相对单位),inches(英寸),centimeters(厘米)和points(磅)。
(7)Color属性:
取值可以用字符表示,也可以用三元组表示。缺省值为’k’即黑色。
(8)Pointer属性:
取值是arrow(缺省值)、crosshair、watch、topl、topr、botl、botr、circle、cross、fleur、custom等。
(9)对键盘及鼠标响应属性:
允许对键盘和鼠标键按下这样的动作进行响应。
2.坐标轴对象
句柄变量=axes(属性名1,属性值1,属性名2,属性值2,……); %调用axes函数用制动的属性在当前图形窗口创建坐标轴,并将句柄赋给句柄变量。 axes 或 句柄变量=axes %用axes函数建立缺省坐标轴 axes(坐标轴句柄) %调用axes函数将之设定为当前坐标轴,且坐标轴所在的图形窗口自动成为当前图形窗口。
(1)Box属性:
取值是on或者off(缺省值)。它决定坐标轴是否带有边框。
(2)GridLineStyle属性:
取值是‘:’(缺省值)、‘-’、‘-.’、‘--’、‘none’。该属性定义网格线的类型
(3)Position属性:
该属性是由四个元素构成的向量,其形式为[n1,n2,n3,n4]。这个向量在图形窗口中决定一个矩形区域,坐标轴在其中。
(n1,n2)是左下角的坐标,(n3,n4)是矩形的宽和高。单位由Units属性决定
(4)Unit属性:
取值是normalized(相对单位,为缺省值)、inches(英寸)、centimeters(厘米)和points(磅)。
(5)Title属性:
该属性的取值是坐标轴标题文字对象的句柄,可以通过该属性对坐标轴标题文字对象进行操作。
ans=get(gca,'Title'); set(ans,'Color','r');
(6)XLabel、YLabel、ZLabel属性:
取值分别为x,y,z轴说明文字的句柄。其操作和Title属性相同。
ans=get(gca,'XLabel'); set(ans,'String','Values of X axis');
(7)XLim、YLim、ZLim属性:
取值都是具有2个元素的数值向量。3个属性分别定义个坐标轴的上下限。缺省为[0,1]。
(8)XScale、YScale、ZScale属性:
取值都是’linear’(缺省值)或’log’,这些属性定义个坐标轴的刻度类型
(9)View属性:
取值是两个元素的数值向量,定义视点方向。
3.曲线对象
句柄变量=line(x,y,z,属性名1,属性值1,属性名2,属性值2,……); %x,y,z为三维坐标
(1)Color属性:
该属性的取值是代表某颜色的字符或者RGB值。定义曲线的颜色。
(2)LineStyle属性:
定义线性
(3)LineWidth属性:
定义线宽,缺省值为0.5磅。
(4)Marker属性:
定义数据点标记符号,缺省值为none
(5)MarkerSize属性:
定义数据点标记符号的大小,缺省值为6磅。
(6)XData,YData,Zdata属性:
取值都是数值向量或矩阵,分别代表曲线对象的3个坐标轴数据。
4.文字对象
句柄变量=text(x,y,z,'说明文字',属性名1,属性值1,属性名2,属性值2,……); %说明文字可以使用LaTeX控制字符
(1)Color属性:
定义文字对象的颜色。
(2)String属性:
取值是字符串或者字符串矩阵,记录文字标注的内容。
(3)Interpreter属性:
取值是latex(缺省值)或none,该属性控制对文字标注内容的解释方式,即LaTeX方式或者ASCII方式、
(4)FontSize属性:
定义文字对象的大小,缺省值为10磅。
(5)Rotation属性:
取值是数值量,缺省值为0.定义文字对象的旋转角度。取正值是表示逆时针旋转。
MATLAB图形界面设计(上)的更多相关文章
- MATLAB图形界面设计(下)
文章参考Blue Mountain https://www.cnblogs.com/BlueMountain-HaggenDazs/p/4307777.html 一.菜单设计 1.建立菜单项 (1)建 ...
- matlab gui界面设计记录
我们要进行的程序是彩色图像处理试验示例,用这个程序来练习我们的gui前台设计. 程序功能介绍:具有彩色图像处理及保存和音乐播放功能效果如下图 2 在MATLAB的命令窗口中输入guide命令,打开gu ...
- Sprint 2 : ios图形界面设计与代码整合
这周我们主要focus在personal photo experience 项目的ios图形界面设计与代码整合工作上. 工作进度: 1. 图形界面设计方面:兆阳和敏龙基本已经将ios手机客户端的雏形界 ...
- python的re模块一些方法 && Tkinter图形界面设计 && 终止python运行函数 && python读写文件 && python一旦给字符串赋值就不能单独改变某个字符,除非重新给变量赋值
Tkinter图形界面设计见:https://www.cnblogs.com/pywjh/p/9527828.html#radiobutton 终止python运行函数: 采用sys.exit(0)正 ...
- windows 下 putty 登陆服务器 显示matlab图形界面
本文需要下载 putty.exe 和 pscp.exe :http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html Xming 主 ...
- MATLAB学习笔记(十一)——MATLAB图形用户界面设计
(一)菜单设计 一.建立用户菜单 1.概况: 用户菜单一般含有一级菜单和二级菜单,乃至多级菜单.每一级菜单又包含多个菜单项.建立菜单可以使用uimenu函数. 2.uimenu函数调用: %建立一级菜 ...
- Tkinter图形界面设计(GUI)
[因为这是我第一个接触的GUI图形界面python库,现在也不用了,所以大多数内容都来自之前花 钱买的一些快速入门的内容,可以当作简单的知识点查询使用] 在此声明:内容来自微信公众号GitChat,付 ...
- 【转】java图形界面设计(AWT)
[转自]http://blog.sina.com.cn/s/blog_616e189f0100ne1t.html 1. 基本的java Frame操作. Java的图形界面的类主要包括AW ...
- java图形界面设计
1. 基本的java Frame操作. Java的图形界面的类主要包括AWT和Swing.在AWT中图形元素的父类为Component. 继承关系如下:Component->Cont ...
随机推荐
- Monitor和Lock以及区别
1.Monitor.Enter(object)方法是获取锁,Monitor.Exit(object)方法是释放锁,这就是Monitor最常用的两个方法,当然在使用过程中为了避免获取锁之后因为异常,致锁 ...
- [数据结构与算法]排序算法(Python)
1.直接插入排序 给定一个数组后,从第二个元素开始,如果比第一个小,就跟他交换位置,否则不动:第三个元素如果比第二个小,把第三个跟第二个交换位置,在把第二个与第一个比较:..... def inser ...
- leetcode中,代码怎样调试,创造本地执行环境
初次接触leetcode,是我在一个招聘站点上看的,这个OJ真有那么厉害吗? 这几天在这个OJ上做了几道题,发现他的几个特点,1.题目不难(相对于ACM来说,我被ACM虐到至今无力),评判没那么苛刻, ...
- 【特征匹配】SIFT原理之KD树+BBF算法解析
转载请注明出处:http://blog.csdn.net/luoshixian099/article/details/47606159 继上一篇中已经介绍了SIFT原理与C源代码剖析,最后得到了一系列 ...
- Codeforces Round #306 (Div. 2) A
题意 给一个字符串(长度<=10^5).问当中有没有一个"BA"和一个"AB"呢?假设都有而且它们不反复(即ABA不算),输出YES.否则输出NO. 思路 ...
- 97. ExtJS之EditorGridPanel afteredit属性
转自:https://zccst.iteye.com/blog/1328869 1. 之前大多用Ext.grid.GridPanel,现在需要可编辑功能,发现比以前稍复杂一些. 就是需要对指定列进行可 ...
- 棋盘问题(dfs)
http://poj.org/problem?id=1321 思路:按行搜索,回溯时还原棋盘. #include <stdio.h> #include <string.h> ] ...
- Appium + python -always_allows弹窗
from appium import webdriverfrom selenium.webdriver.support.ui import WebDriverWaitfrom selenium.web ...
- Python 43 视图 、sql注入问题 、事务 、存储过程
一:视图 1 视图是什么? 本质是一张虚拟的表,他的数据来自select语句 创建视图 create view test_view select *from t1; 2 有什么用? 原表安全 案例: ...
- 在redhat6上装1.8以下的docker
因为目前1.8以上的docker最低要求是3.10的Linux内核,而我的内核版本远低于此. [root@localhost home]# uname -r -.el6.x86_64 鉴于我的vm上有 ...
