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(0,2*pi,30);
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(0.2*pi,20);
y=sin(x);
h=plot(x,y);%先将图形句柄赋值给h
col=get(h,‘Color‘); %得到曲线的颜色
V=get(0,‘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=0:pi/50:2*pi;
y=sin(x);
z=cos(x);
plot(x,y,‘r‘,x,z,‘g‘);

H1=get(gca,‘Children‘);      %获取两曲线句柄向量H1
for k=1:size(H1)
    if get(H1(k),‘Color‘)==[0 1 0]       %【0,1,0】表示绿色
        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.定义文字对象的旋转角度。取正值是表示逆时针旋转。

原文地址:https://www.cnblogs.com/Sonny-xby/p/9860387.html

时间: 2024-11-06 03:44:37

MATLAB图形界面设计(上)的相关文章

MATLAB图形界面设计(下)

文章参考Blue Mountain https://www.cnblogs.com/BlueMountain-HaggenDazs/p/4307777.html 一.菜单设计 1.建立菜单项 (1)建立一级菜单的函数调用: 一级菜单句柄=uimenu(图形窗口句柄,属性名1,属性值1,属性名2,属性值2,--); %建立一级菜单需给出图形窗口的句柄值. %如果省略句柄值,MATLAB就在当前图形窗口中建立这个菜单项. %如果当前没有图形窗口,则自动打开一个图形窗口. (2)建立子菜单项的函数调用

非专业码农 JAVA学习笔记 用户图形界面设计与实现-所有控件的监听事件

用户图形界面设计与实现-监听事件 System.applet.Applet (一)用户自定义成分 1.绘制图形 Public voit piant(Ghraphics g){  g.drawLine等图形名称(坐标1234);g.file图形名(坐标123)} 2.设置字体-Font类 (1)定义font:Font myfont=new Font(“字体”,”样式”,字号); 例如:Font myfont=new Font(“宋体”,Font.BOLD,12); (2)引用定义的Font:类/容

Java 【图形界面设计】

图形界面设计总体可分为三大部分:组件.事件.布局 1.组件 原文地址:https://www.cnblogs.com/versionk/p/10713867.html

windows 下 putty 登陆服务器 显示matlab图形界面

本文需要下载 putty.exe 和 pscp.exe :http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html Xming 主程序和字体: https://sourceforge.net/projects/xming/ 一.putty 的使用 1. 连接服务器 下载 putty,无需安装直接运行 putty.exe 进入下面的界面: 按照上图所示: 1 中输入服务器 ip 地址:(也可以输入 [email protecte

【转】java图形界面设计(AWT)

[转自]http://blog.sina.com.cn/s/blog_616e189f0100ne1t.html 1.       基本的java Frame操作. Java的图形界面的类主要包括AWT和Swing.在AWT中图形元素的父类为Component. 继承关系如下:Component->Container->Window->Frame->JFrame.(注意:Swing对AWT进行了扩展). 下面给出一个简单的java图形程序: package com.guan.vis

MATLAB学习笔记(十一)——MATLAB图形用户界面设计

(一)菜单设计 一.建立用户菜单 1.概况: 用户菜单一般含有一级菜单和二级菜单,乃至多级菜单.每一级菜单又包含多个菜单项.建立菜单可以使用uimenu函数. 2.uimenu函数调用: %建立一级菜单的函数调用: 一级菜单句柄=uimenu(图形窗口句柄,属性名1,属性值1,属性名2,属性值2,--); %建立一级菜单需给出图形窗口的句柄值. %如果省略句柄值,MATLAB就在当前图形窗口中建立这个菜单项. %如果当前没有图形窗口,则自动打开一个图形窗口. %建立子菜单项的函数调用: 子菜单项

04747_Java语言程序设计(一)_第6章_图形界面设计(二)

例6.1声明一个面板子类,面板子类对象有3个选择框. class Panel1 extends JPanel { JCheckBox box1,box2,box3; Panel1() { box1=new JCheckBox("足球");box2=new JCheckBox("排球"); box3=new JCheckBox("篮球");add(box1);add(box2);add(box3); } } 51551

HT图形组件设计之道(一)

HT for Web简称HT提供了涵盖通用组件.2D拓扑图形组件以及3D引擎的一站式解决方式.正如Hightopo官网所表达的我们希望提供:Everything you need to create cutting-edge 2D and 3D visualization. 这个愿景从功能上是个相当长的战线,从设计架构上也是极具挑战性的,事实上HT团队是很保守的,我们从不贪多图大,仅仅做我们感觉自己能得更好,能给用户综合体验更佳的功能,在这样理念驱动下我们慢慢形成了这种愿景,慢慢实现了几个有意义

UI界面设计流程

UI界面设计流程 UI界面设计是为了满足软件专业化标准化的需求而产生的对软件的使用界面进行美化优化规范化的设计分支.具体包括软件启动封面设计,软件框架设计,按钮设计,面板设计,菜单设计,标签设计,图标设计,滚动条及状态栏设计,安装过程设计,包装及商品化. 软件UI界面设计的三大原则是:置界面于用户的控制之下.减少用户的记忆负担.保持界面的一致性.一般来讲,软件UI界面设计在工作流程上可分为结构设计.交互设计.视觉设计三个部分. 一.结构设计(Structure Design) 结构设计也称概念设