1、图形对象的句柄
(1)句柄的概念
在MATLAB中,用句柄来标识对象,通过句柄来访问相应对象的属性:在MATLAB系统中建立—个对象,系统就会建立—个映射该对象的句柄,用于存诸相应对象的属性。

例1:绘制多个图形,并保存图形句柄。

t = 0:pi/10:2*pi;
h1 = plot3(t+pi,t-2*pi,sin(t),'r');   %h1是调用plot3函数绘制的曲线的句柄
hold on;[x,y] = meshgrid(t);
z = sin(x);
h2 = mesh(t-2*pi,t+pi,z);       %h2是调用mesh函数绘制的曲面的句柄[x3 y3 z3] = cylinder(t);
h3 = surf(x3,y3,z3);     %h3是调用surf函数绘制的圆锥的句柄
grid on;
xlabel('X轴')
ylabel('Y轴')
zlabel('Z轴')


(2)访问图形对象
是指获取或设置图形对象的属性,不同图形对象所具有的属性不同,但访间的方法是一样的,一般使用点运算符来访问对象属性。
一般形式为:
对象句柄.属性名

例2:对象句柄的使用

x = linspace(0,2*pi,100);
y = sin(x);subplot(2,1,1)
h0 = plot(x,y)     %hO是通过plot函数建立的曲线对象的句柄
h0.Color            %获取曲线对象的Color属性,得到一个RGB向量
h0.LineWidth = 2;   %设置曲线的宽度
title('线宽为‘2’的正弦曲线','color','r')subplot(2,1,2)
h1 = plot(x,y)     %hO是通过plot函数建立的曲线对象的句柄
h1.Color            %获取曲线对象的Color属性,得到一个RGB向量
h1.LineStyle = '-.'; %设置曲线的线型
title('线型为‘-.’的正弦曲线','color','r')%输出结果h0
h0 = Line - 属性:Color: [0 0.4470 0.7410]LineStyle: '-'LineWidth: 0.5000Marker: 'none'MarkerSize: 6MarkerFaceColor: 'none'XData: [1×100 double]YData: [1×100 double]ZData: [1×0 double]显示 所有属性ans =0    0.4470    0.7410%输出结果h1
h1 = Line - 属性:Color: [0 0.4470 0.7410]LineStyle: '-'LineWidth: 0.5000Marker: 'none'MarkerSize: 6MarkerFaceColor: 'none'XData: [1×100 double]YData: [1×100 double]ZData: [1×0 double]显示 所有属性ans =0    0.4470    0.7410

(3)获取特定图形对象句柄的函数
①gcf: 获取当前图形窗口的句柄。
②gca: 获取当前坐标轴的句柄。
③gco: 获取最近被选中的图形对象的句柄。
④findobj: 按照指定的属性来获取图形对象的句柄。

例3:获取特定图形对象句柄

x = linspace(0,2*pi,100);
y = sin(x);
h = plot(x,y)
h1 = gcf      %获取当前图形窗口的句柄存储于h1%输出结果
h1 = Figure (1) - 属性:Number: 1       %存储窗口序号Name: ''      %存储窗口标题Color: [0.9400 0.9400 0.9400]    %存储窗口的背景色Position: [680 558 560 420]     %存储窗口在屏幕中的位置Units: 'pixels'       %存诸窗口长度的度量单位

2、图形对象的属性
(1)图形对象的常用公共属性
①Children属性: 该对象的所有子对象的句柄组成的一个向量。
②Parent属性: 该对象的父对象的句柄。
③Type属性: 对象的类型,这是一个只读属性。
④Tag属性: 用于给对象定义一个标识符。

例2:分别在两个子图中绘制曲线和曲面,然后设置子图1的背景色为黄色,曲线线条颜色为红色,设置子图2的背景色为青色。

subplot(2,2,1)
fplot(@(t)t.*sin(t),@(t)t.*cos(t),[0,6*pi]);   %绘制曲线
title('曲线')
axis equalsubplot(2,2,2)
[x y z] = peaks(20);
title('曲面')
mesh(x,y,z);    %绘制曲面subplot(2,2,3)
h11 = fplot(@(t)t.*sin(t),@(t)t.*cos(t),[0,6*pi]);   %曲线的句柄
title('曲线')
axis equal
h110 = h11.Parent   %获取曲线的父对象
h110.Color = 'y'    %设置曲线的背景色为黄色
h11.Color = 'r'     %设置曲线线条为红色,也可在函数里面设置subplot(2,2,4)
[x y z] = peaks(20);
h22 = mesh(x,y,z);     %曲面的句柄
title('曲面')
h22.Parent.Color = 'cyan'    %设置背景色为青色


(2)图形对象的常用动态属性
①KeyPressFcn属性: 定义按下键盘按键事件的响应。
②CreateFcn属性: 定义创建图形对象时做出的响应。
③DeleteFcn属性: 定义取消图形对象时做出的响应。
④WindowButtonDownFcn或ButtonDownFcn属性: 定义单击鼠标左键事件的响应。
这些属性的值一般是函数句柄、存储命令的单元数组、描述命令的字符串当对应事件发生时,系统将自动调用句柄所代表的函数、或执行单元数组中的命令、或字符串描述的命令,实施相关操作。

3、图形窗口的操作
(1)建立图形窗口对象
使用figure函数,其调用格式为:
①句柄变量=figure(属性1,属性值1,属性2,属性值2,…),其中,属性用于设置图形窗口的特征。
②句柄变量=figure //调用时不带参数,则按MATLAB默认的属性值建立图形窗口。
③figure(窗句柄) //设定该句柄对应的窗口为当前窗口。

(2)图形窗口常用属性
①MenuBar属性: 控制图形窗口是否具有菜单条,其取值为’none’或’figure’ 。
②Name属性: 指定图形窗口的标题。
③NumberTitle属性: 决定着在图形窗口的标题中是否以“Figure n: ”为标题前缀。
④Color属性: 设定图形窗口背景的颜色。
⑤Position属性: 定义了图形窗口对象在屏幕上的位置和大小,值是一个4元行向量[x, y, w, h]。其中x、y分别为窗口左下角的横纵坐标值,w h分别为窗口的宽度和高度。
⑥Units属性: 定义图形窗口使用的长度单位:‘pixels’(像素)、‘inches’(英寸)、‘centimeters’(厘米)、 ‘points’(磅)、 ‘normalized’(指定用相对单位将屏幕左下角对应为0 0,而右上角对应为1.0 1.0,后面定义的长度是相对这个区域的比例)

例3:建立一个图形窗口。该图形窗口没有菜单条,标题名称为“图形窗口示例”,起始于屏幕左下角、宽度和高度分别为300像素点和150像素点,背景颜色为青色,且当用户从键盘按下任意一个键时,然后在窗中单击鼠标左键,在鼠标指针所在位置将显示“Hello,World!”。

hf = figure;
hf.MenuBar = 'none';   %该图形窗口没有菜单栏
hf.Name = '图形窗口示例';   %该图形窗口标题为‘图形窗口示例’
hf.Position = [1 1 300 150];    %起始于屏幕左下角、宽度和高度分别为300像素点和150像素点
hf.Color = 'cyan';              %背景色为青色,也可为hf.Color = [0,1,1]
hf.NumberTitle = 'off';           %不显示标题前缀
hf.ButtonDownFcn = '"Hello,World!"';%输出结果
ans = "Hello,World!"

4、坐标轴的操作
坐标轴对象是图形对象的父对象,即当作图形对象的容器。在没有指明坐标轴时所有的图形对象,都是在当前坐标轴中输出。
(1)建立坐标轴对象
使用axes函数,其调用格式为:
①句柄变量=axes(属性1,属性值1,属性2,属性值2,…) ,其中,属性用于设置坐标轴的特征。
②句柄变量=axes //不带参数时,则按MATLAB默认的属性值,在当前图形窗口创建坐标轴 。
③axes(坐标轴句柄) //如果axes函数的参数是坐标轴句柄,则设定该句柄代表的坐标轴为当前坐标轴,随后绘制的图形都显示在这个坐标轴中

(2)坐标轴对象的属性
①Position属性: 定义坐标轴在图形窗中的位置和大小。
②Units属性: 定义坐标轴使用的度量单位,默认值是’normalized’。
③Box属性: 决定坐标轴是否带有边框,可取值是’on’或’off’(默认值)。
④GridLineStyle属性: 用于定义网格线的类型,取值可以是∵(默认值)、‘一’、’-.’、’-一’或’none’。
⑤Title属性: 用于对坐标轴标题对象进行操作,取值是通过title函数建立的标题对象的句柄。
⑥XLabel、YLabel、ZLabel属性: 取值分别是通过xlabel、ylabel、zlabel函数建立的坐标轴标签对象的句柄。
⑦XLim、YLim、ZLim属性: 用于定义各坐标轴的下限和上限,取值是向量[Lmin, Lmax],默认值为[0,1]。
⑧XScale、YScale、ZScale 属性: 用于定义各坐标轴的刻度类型,可取值是’linear’(默认值)、‘log’。
⑨View属性: 用于定义视点,取值是向量[az, el],az定义视点的方位角,el定义视点的仰角。坐标轴默认视点的方位角为0度,仰角为90度。
⑩ColorOrder属性: 用于设置多条曲线的颜色顺序,是一个nx 3矩阵,矩阵的每一行用RGB三元组表示一种颜色,默认n为7。

例4:坐标轴对象的属性

h1 = axes('Position',[0.1 0.1 0.7 0.7]);    %在当前图形窗口建立一个坐标轴,大小为窗口的70%,
contour(peaks(20))           %调用contour 函数绘制等高线图
h1.Title = title('等高线');   %设置坐标轴的标题
h1.XLabel = xlabel('东西向');  %设置x轴标签
h1.YLabel = ylabel('南北向');   %设置y轴标签h2 = axes('Position',[0.65 0.7 0.28 0.28]);   %在图形窗口的右上边建立一个坐标轴
surf(peaks(20))      %调用surt函数绘制尖峰函数图
h2.View = [-30 45];  %设置当前坐标轴的视点位置


例5:定义ColorOrder属性,绘制6条曲线。

x = [0 0];
y = [0 1];
ha = axes;       %建立坐标轴对象,存储于ha句柄中
ha.ColorOrder = [0 0 0;1 0 0; 0 1 0;0 0 1];   %设置四种ColorOrder属性,黑色、红色、绿色和蓝色
hold on;
plot(x,y,x+0.5,y,x+1,y,x+1.5,y,x+2,y,x+2.5,y)    %绘制6条曲线,曲线依次采用这4种颜色
ha.XLim = [-0.2,2.7];     %设置X轴的上下限
ha.YLim = [-0.2,1.2];     %设置Y轴的上下限

8.1 matlab图形窗口与坐标轴(图形对象的句柄和属性、坐标轴的操作、图形窗口的操作)相关推荐

  1. [轉]子窗口和父窗口的函数或对象能否相互访问

    子窗口和父窗口的函数或对象能否相互访问 解决思路:        每一个窗口其实也是一个对象,窗口内的对象或函数就相当于对象内的对象或方法,问题的关键是如何取得窗口对象的控制句柄,不同的窗口的控件句柄 ...

  2. 用MATLAB编程课程设计,matlab课程设计报告---用Mtlab编程实现句柄图形应用

    matlab课程设计报告---用Mtlab编程实现句柄图形应用 课程设计报告(论文)课程设计报告(论文) 课 程基于 Matlab 的数学实验 学 号 姓 名 班 级 任课教师 用用 M Mtlabt ...

  3. MATLAB笔记之复数以及基本复数函数二维视角(2d)图形绘制

    MATLAB笔记之复数以及基本复数函数二维视角(2d)图形绘制 QQ:3020889729 小蔡 一般复数的2d图形绘制 一般复数的平移图形~(即一个复数加另一个复数实现在复平面的平移) 补充几个复数 ...

  4. MATLAB基础操作--命令窗口

    MATLAB基础操作–命令窗口 常用的赋值运算符-'='对变量进行赋值 x=9-5 x = 4 x-8=9 x-8=9 ↑ 错误: '=' 运算符的使用不正确.要为变量赋值,请使用 '='.要比较值是 ...

  5. 5 随窗口改变大小_C4D默认界面两个关于坐标轴的窗口有什么区别

    前言 在一开始学习C4D的时候,就有这个疑问,为什么明明物体的属性都有了一个坐标属性的窗口了,还要有一个和坐标相关的窗口在默认的界面呢,后边在使用的过程中才慢慢理解了额外的坐标管理器窗口的作用,这一篇 ...

  6. MATLAB二维绘图(二)向图中添加标题,坐标轴,图标和文字信息

    MATLAB二维绘图(二)向图中添加标题,坐标轴,图标和文字信息 1.添加标题.图例.x轴信息和y轴信息,示例: %% 添加标题 clear; clc; close all; x = 0:0.1:2* ...

  7. 北师大版图形的旋转二教案_新北师大版六年级数学下册图形的旋转(二)教案

    可编辑范本 图形的旋转(二) 教学目标: 1 .使学生进一步认识图形的旋转,理解按顺时针或逆时针旋转 90 °的含义, 能在方格纸上把简单的图形旋转 90 °,并能画出旋转后的图形. 2 .让学生进一 ...

  8. 计算机图形学二维图形基本变换实验原理,江苏大学-计算机图形学第三次实验报告-二维图形变换...

    <江苏大学-计算机图形学第三次实验报告-二维图形变换>由会员分享,可在线阅读,更多相关<江苏大学-计算机图形学第三次实验报告-二维图形变换(13页珍藏版)>请在人人文库网上搜索 ...

  9. 图形是用计算机绘制的画面 也成矢量图,下列对图形和图像的描述,错误的是()。A图形也称为矢量图,几何变换后不失真B静态图像也称为位图, - 试题答案网问答...

    相关题目与解析 关于图形和图像的描述中,错误的是()A.图形也称为矢量图,图像也称为位图B.因图形文件比图像文 下列关于图形和图像的说法中不正确的是(53).A.图形是用计算机绘制的画面,也称矢量图B ...

最新文章

  1. CVPR2020 3D目标检测 PV-RCNN
  2. Scala Implicit Conversion
  3. 域服务器广播消息,广播,组播和UNIX域套接字
  4. 升技主板RAID磁盘阵列图解
  5. SpringMVC获取Request,Response, Session对象
  6. could not change product header data even after switching to change mode
  7. 【BZOJ4774】修路 [斯坦纳树]
  8. java蓝桥杯省赛第十届_2019年第十届蓝桥杯省赛-迷宫(BFS/Excel大法)
  9. 站闻资讯项目开发个人总结
  10. redis系列--深入哨兵集群
  11. iPhone的MobileTerminal使用经验
  12. 分布式系统与海量数据处理
  13. linux如何设置root权限,linux设置root权限的方法
  14. canal使用过程中的报错
  15. 电力自动化系统为何需要卫星同步时钟装置?
  16. π型滤波频率计算_滑动平均滤波的截止频率与平均点数计算
  17. 升级TC Games电脑玩手游助手会员都有哪些特权?会员权益了解一下
  18. 第一阶段:Linux基础
  19. Jmeter,Linux下执行./jmeter报错【./jmeter:Permission denied】
  20. 科研小白之SCI论文、EI论文和IEEE论文有什么区别?国内分区与SCI等的联系

热门文章

  1. MANIFEST.MF文件的格式
  2. 利用DataSet对Xml文件操作
  3. 论初次修改 Android framework 代码
  4. LCD正向扫描和反向扫描
  5. 工业机器人什么情况下会出现奇点_【怎么解释机器人奇点造成的结果?】-工业-有米下载-6miu.com...
  6. 《C++入门经典(第6版)》——1.5 问与答
  7. Hibernate List集合映射
  8. Strut2与Hibernate的一个web分页功能
  9. 【正一专栏】内马尔请不要把球迷的爱当做你交易的筹码
  10. (转载)机器学习知识点(十五)从最大似然到EM算法浅解