第4章 Figure图形句柄获取
【转载】Matlab中Figure属性的设定
![【转载】Matlab中Figure属性的设定](https://img.taocdn.com/s3/m/a24af3f7541810a6f524ccbff121dd36a32dc433.png)
【转载】Matlab中Figure属性的设定GUI常用函数:(1) 利用结构和细胞数组指定一个群组的属性对于一次设置多个对象的属性非常有效,因为该数组可以在任何对象中调用。
下例定义了一个名为active的结构数组,设置特定figure窗口下的unicontrol 对象的Backgroundcolor、enable和Foregroundcolor等属性。
例:active.backgroundcolor=[1 0 0];active.enable = 'on';active.foregroundcolor = [0 1 0];handle = uicontrol(gcf,'style','text','position',[50 50 200 30],'string','以结构数组来设置对象的属性范例');set(handle,active);(2) 也可如下设置多个对象的属性值:set([gcf,gca],'color','r')(3) 补充:gcbf:获得当前正在执行Callback程序的图形对象的父对象句柄值。
gcbo:获得当前正在执行Callback程序的图形对象句柄值。
(4) copyobj:将指定对象由其父对象中复制到另一个父对象中,如copyobj(text_handle,axes_handle)将句柄值为text_handl的T ext 对象到句柄值为axes_handle的坐标轴中。
(5) 程序编写GUI步骤:第一步:建立figure对象以作为整个GUI的基础窗口,并设置该窗口的相关属性。
若后续需要建立uimenu,则必须更改窗口的Menubar属性为menubar或figure。
第二步,决定建立需要的axes或uicontrol、uimenu、uicontextmenu对象,并设置相关属性及Callback。
MATLAB图形对象句柄命令
![MATLAB图形对象句柄命令](https://img.taocdn.com/s3/m/14e7f50ccc7931b765ce15be.png)
MATLAB图形对象句柄命令MATLAB图形对象句柄命令2010-05-25命令1 figure功能创建一个新的图形对象。
图形对象为在屏幕上单独的窗口,在窗口中可以输出图形。
用法figure用缺省的属性值创建一个新的图形对象。
figure('PropertyName',PropertyValue,…)对指定的属性PropertyName用指定的属性值PropertyValue(属性名与属性值成对出现)创建一个新的图形窗口,对于那些没有指定的属性,则用缺省值。
属性名与有效的属性值见下表。
figure(h)1.若h为一个已经存在的图形的句柄,则figure(h)使由h标记的图形成为当前图形,使它可见,且在屏幕上把它显示到所有图形之前。
当前图形为图像输出的地方。
2.若h不是已经存在图形的句柄,但是为一整数,则该命令生成一图形窗口,同时把该窗口的句柄赋值为h;若h不是一图形窗口的句柄,也不是一整数,则返回一错误信息。
h=figure(…)返回图形窗口对象的句柄给h。
表7-10属性名属性说明有效属性值窗口位置Position图形窗口的位置与大小有效值:四维向量[left,bottom,width,height]缺省值:决定于显示Units用于解释属性Position的单位有效值:inches(英寸)centimeters(厘米)normalized(标准化单位,认为窗口为一长宽都是1)points(点)pixels(像素)characters(字符)缺省值:pixels指定类型与外在显示Color窗口的背景颜色有效值:ColorSpec(有效的颜色参数)缺省值:取决于颜色表(参见命令colordef)Menubar转换图形窗口菜单条的"开"与"关"有效值:none、figure缺省值:figure Name显示图形窗口的标题有效值:任意字符串缺省值:''(空字符串)NumberTitle标题栏中是否显示'Figure No.n',其中n为图形窗口的编号有效值:on、off缺省值:on Resize指定图形窗口是否可以通过鼠标改变大小有效值:on、off缺省值:on SelectionHighlight当图形窗口被选中时,是否突出显示有效值:on、off缺省值:on Visible确定图形窗口是否可见有效值:on、off缺省值:on WindowStyle指定窗口为标准窗口还是典型窗口有效值:normal(标准窗口)、modal(典型窗口)缺省值:normal控制色图Colormap图形窗口的色图有效值:m*3阶的RGB颜色矩阵缺省值:jet色图Dithermap用于真颜色数据以伪颜色显示的色图有效值:m*3阶的RGB颜色矩阵缺省值:有所有颜色的色图DithermapMode是否使用系统生成的抖动色图有效值:auto、manual缺省值:manual FixedColors不是从色图中获得的颜色有效值:m*3阶的RGB颜色矩阵缺省值:无(只读模式)MinColormap系统颜色表中能使用的最少颜色数有效值:任一标量缺省值:64 ShareColors允许MATLAB共享系统颜色表中的颜色有效值:on、off缺省值:on指定透明度Alphamap图形窗口的α色图,用于设定透明度。
figure在python中的用法
![figure在python中的用法](https://img.taocdn.com/s3/m/dc587b25a200a6c30c22590102020740be1ecd3b.png)
figure在python中的用法在Python中,figure 是 Matplotlib 库中的一个重要概念,它代表了绘图区域,也就是整个绘图画布。
在使用 Matplotlib 进行数据可视化时,常常需要创建一个 figure 对象,然后在这个对象上添加子图(subplot)来绘制图形。
下面是 figure 在 Python 中的基本用法:导入 Matplotlib:import matplotlib.pyplot as plt创建 figure 对象:fig = plt.figure()绘制子图(subplot):ax = fig.add_subplot(1, 1, 1) # 1行1列的子图,当前选中第1个子图绘制数据:x = [1, 2, 3, 4, 5]y = [10, 20, 15, 30, 25]ax.plot(x, y) # 在当前选中的子图上绘制折线图可选:添加图标题、轴标签等:ax.set_title('示例图')ax.set_xlabel('X轴')ax.set_ylabel('Y轴')显示图形:plt.show()figure 对象可以包含多个子图,每个子图可以展示不同的数据,实现多个图形的排列。
你可以通过调整 add_subplot() 中的参数来设置不同的子图布局,例如:ax1 = fig.add_subplot(2, 2, 1) # 创建2行2列的子图,当前选中第1个子图ax2 = fig.add_subplot(2, 2, 2) # 创建2行2列的子图,当前选中第2个子图ax3 = fig.add_subplot(2, 2, 3) # 创建2行2列的子图,当前选中第3个子图ax4 = fig.add_subplot(2, 2, 4) # 创建2行2列的子图,当前选中第4个子图总结:figure 是 Matplotlib 绘图的画布对象,而 subplot 则是画布上的一个子图。
MATLAB在作图中的常见问题
![MATLAB在作图中的常见问题](https://img.taocdn.com/s3/m/87c3cff3f121dd36a22d8236.png)
26
15.坐标值的修改
(2)修改坐标 语句实现: 我们用axes句柄的xticklabel (或yticklabel) 这一项就可以了。 看下面这一段程序:
27Βιβλιοθήκη 16.放大所画的图形MATLAB所画出的图形是其默认的大小,我们也 可以对图形的大小进行重新设定:
set(gcf,'position',[x0 y0 xL yL]);
19
11.图形标注的一些问题
下面以xlabel为例,讲一下常见的几个问题:
xlabel(‘t^{hit}’); %标注上脚标 xlabel(‘Y_{Lib}’); %标注下脚标
花括号{}的作用是使多个字符都处于相同的状态。
xlabel({‘zjliu’,‘on BBS’}); %多行标注
效果见下图:
11
12
13
7.双Y轴曲线的坐标标注
我们注意到MATLAB命令窗的画兰颜色的 那一行, String = 这是加入文本信息的一个参数选项。
为此我设计了如下的语句:
14
8.双Y轴曲线的坐标标注
所用的几行语句: d1=get(H(1),'ylabel'); set(d1,’string’,’sin(x)’); d2=get(H(2),’ylabel’); set(d2,’string’,’exp(x)’); xlabel(‘x zjliu’) 得到的图形如下:
'fontsize',20,'color','Magenta') xlim([0 2*pi]); 效果见下页:
17
18
10.图形标注的一些问题
常用的几个标注的函数是: text; xlabel (ylabel, zlabel); title 在标注的时候字体,位置以及方向等可以 使用MATLAB自己默认的,也可以自己去 设定。
【转】matlab图形句柄详解(一)
![【转】matlab图形句柄详解(一)](https://img.taocdn.com/s3/m/af8406c8cf2f0066f5335a8102d276a2002960c7.png)
【转】matlab图形句柄详解(⼀)在matlab中,每⼀个对象都有⼀个数字来标识,叫做句柄.当每次创建⼀个对象时,matlab就为它建⽴⼀个唯⼀的句柄,句柄中包含有该对象的相关信息参数,可以在后续程序中进⾏操作,改变其中的参数,以便达到不同的效果。
例如:gcf 是返回当前被激活的窗⼝的句柄。
你可以认为它就指代当前窗⼝。
figure(gcf)打开这个窗⼝。
句柄式图形常⽤函数:所有对象都有属性来定义它们的特征,正是通过设定这些属性来修正图形显⽰的⽅式。
尽管许多属性所有的对象都有,但与每⼀种对象类型(⽐如坐标轴,线,曲⾯)相关的属性列表都是独⼀⽆⼆的。
对象属性可包括诸如对象的位置、颜⾊、类型、⽗对象、⼦对象及其它内容。
每⼀个不同对象都有和它相关的属性,可以改变这些属性⽽不影响同类型的其他对象。
和每⼀种对象类型(图形,坐标轴,线,⽂本,曲⾯,补⽚和图象)相关的完整的属性列表在本章的后⾯给出。
对象属性包括属性名和与它们相联关的值。
属性名是字符串,它们通常按混合格式显⽰,每个词的开头字母⼤写,⽐如:’ LineStyle ‘ 。
但是,MATLAB识别⼀个属性时是不分⼤⼩写的。
另外,只要⽤⾜够多的字符来唯⼀地辨识⼀个属性名即可。
例如,坐标轴对象中的位置属性可以⽤ ‘ Position ‘, ‘ position ‘ ,甚⾄是 ‘ pos ‘来调⽤。
当建⽴⼀个对象时,它⽤⼀组缺省属性值,该值可以⽤两种⽅法来改变:改变默认属性值⽅法1:» Hf_1=figure( ‘color’, ‘white’ )它⽤缺省的属性值建⽴⼀个新的图形窗⼝,只是背景颜⾊被设为⽩⾊⽽不是缺省的[0.8 0.8 0.8](灰⾊)。
改变默认属性值⽅法2:为了获得和改变句柄图形对象(如上⾯的Hf_1)的属性只需要两个函数:函数get返回某些对象属性的当前值。
使⽤函数get的最简单语法是get(handle, ‘ PropertyName’ )。
matlab句柄图形对象
![matlab句柄图形对象](https://img.taocdn.com/s3/m/6ec82537dd36a32d7375818b.png)
句柄图形对象(1)function my_plotx=1:10y=peaks(10)%Z = peaks(n);returns an n-by-n matrix.cax=newplot%newplot prepares a figure and axes for subsequent graphics commands.%h = newplot prepares a figure and axes for subsequent graphics commands and returns a handle to the current axes.LSO=['- ';'--';': ';'-.']%此处第一项与第三项要加空格,使得各行元素相等set(cax,'FontName','Times','FontAngle','italic')%设置图形坐标轴的字体与字体倾斜角度set(get(cax,'Parent'),'MenuBar','none')%关闭工具栏line_handles=line(x,y,'Color','b')%将10条曲线利用直线全部画出,并返回直线句柄向量,10条曲线对应10个句柄值%所以该句柄向量一共有10个元素style=1for i=1:length(line_handles)if style>length(LSO)style=1endset(line_handles(i),'LineStyle',LSO(style,:)) %设置直线属性style=style+1endgrid on(2)function my_plot3(x,y,z)cax=newplothold_state=ishold%检测当前的hold状态LSO=['- ';'--';': ';'-.']narginif nargin==2%nargin是用来判断输入变量个数的函数,这样就可以针对不同的情况执行不同的功能。
MATLAB句柄图形
![MATLAB句柄图形](https://img.taocdn.com/s3/m/2a4bafc40508763230121203.png)
句柄图形句柄图形对象句柄图形是对底层图形例程集合的总称,实际上是进行生成图形的工作句柄图形的概念:一幅图的每一组成部分是一个对象,每一个对象有一系列句柄和它相关,每一个对象又按需要可以改变属性1、图形框架窗口对象(Figure)(1)、绘制图形的图形框架窗口对象gca:获得当前坐标轴对象的句柄gcbf:获得当前正在执行调用的图形对象的句柄gcbo:获得当前正在执行调用的对象的句柄gcf:获得当前图形对象的句柄gco:获得当前对象的句柄get(gcf) %由于当前状态下不存在图形窗口,系统生成新的图形窗口(2)、核心(Core)对象核心对象:包括直线、文本和特殊对象(光、图像和面图)等基本的绘图命令坐标系对象:包括线、面图和等高线图等描述的数据对象MATLAB中创建核心对象的函数axes:坐标轴image:MATLAB中的图像light:光源line:二维图形中最基本的图形对象patch:按指定方式填充多边形rectangle:具有可设置边界和表面颜色的二维图形对象surface:图形表面text:图形中的文本[x y]=meshgrid([-2:0.4:2]);Z=x.*exp(-x.^2-y.^2);fh=figure('Position',[350 275 600 450],'Color','w');ah=axes('Color',[0.8 0.8 0.8],'XTick',[-2 -1 0 1 2],...'YTick',[-2 -1 0 1 2]);sh=surface('XData',x,'YData',y,'ZData',Z,...'FaceColor',get(ah,'Color')+0.1,...'EdgeColor','k','Marker','o',...'MarkerFaceColor',[0.5 1 0.85]);view(3)(3)、绘图(Plot)对象绘图对象的父对象可以是坐标轴对象或是群对象MATLAB中绘图对象及其绘图命令areaseries:用于创建area图barseries:用于创建bar图contourgroup:用于创建contour图errobarseries:用于创建errorbar图lineseries:提供给绘制线型图的plot和plot3等函数使用quivergroup:用于创建quiver和quiver3图形scattergroup:用于创建scatter和scatter3图形stairseries:用于创建阶梯图形stemseries:用于创建stem和stem3图形surfaceplot :提供给surf和mesh群函数使用[x y z]=peaks;[c h]=contour(x,y,z);set(h,'LineWidth',3,'LineStyle',':')(4)、注释对象图形编辑工具栏Insert菜单注释函数x=-2*pi:pi/12:2*pi;y=x.^2;subplot(2,2,1:2)plot(x,y)h1=subplot(223);y=x.^4;plot(x,y)h2=subplot(224)y=x.^5;plot(x,y)%定义注释矩形的位置和大小p1=get(h1,'Position');t1=get(h1,'TightInset');p2=get(h2,'Position');t2=get(h2,'TightInset');x1=p1(1)-t1(1);y1=p1(2)-t1(2);x2=p2(1)-t2(1);y2=p2(2)-t2(2);w=x2-x1+t1(1)+p2(3)+t2(3);h=p2(4)+t2(2)+t2(4);%创建注释矩阵来环绕下面两个子图annotation('rectangle',[x1 y1 w h],...'FaceAlpha',0.2,'FaceColor','red','EdgeColor','red');通用函数get和set1、get函数get(handle,’PropertyName’):得到对象的属性及其属性值Hf_1=figure('color','w')p=get(Hf_1,'position') %位置p=get(Hf_1,'Children') %子对象p=get(Hf_1,'Color') %颜色get(Hf_1) %整个图形的属性2、set函数set(H,’PropertyName’,PropertyValue):可以同时设置多个属性的值set(H,a):a为结构体,字段名为图形对象的属性名,字段值为属性值set(H,pn,pv):通过单元型变量为图形对象进行属性赋值,其中pn和pv为单元型变量,pn 为1*n的字符型单元变量,其分量为图形对象的属性名,pv可以是m*n的单元型变量,这里m为句柄数组H的长度,即m=length(H)x=-2*pi:pi/12:2*pi;y=x.^2+x.^3;h=figure;plot(x,y);set(h,'position',[232 248 560 420])set(h,'units') %帮助set(h,'position') %帮助figure('Color','blue','NumberTitle','off','Name','My Figure')Hf_fig=figureHf_line=lineset(Hf_line)get(Hf_line)x=linspace(-2*pi,2*pi,200);y=sin(x);Hf_sin=plot(x,y);set(Hf_sin,'Color',[1 0.5 0],'LineWidth',3)z=cos(x);hold onHf_cos=plot(x,z);set(Hf_cos,'Color',[0.75 0.75 1])查找对象Hf_fig=gcf:返回当前图形的句柄Hf_ax=gca:返回当前图形的当前坐标轴句柄Hx_obj=gco或是Hx_obj=gco(Hf_fig):获取当前对象findobj函数Hx=findobj(‘P1name’,P1value,…):返回根部和根部以下的那些属性值与findobj参数项匹配的对象句柄Hx=findobj(Objecthandle,‘P1name’,P1value,…):限定在Objecthandle中列出的对象和它们的子对象Hx=findobj(Objecthandle,’flat’,‘P1name’,P1value,…):限定在Objecthandle中列出的对象H=findobj:返回根对象和它所有子对象的句柄H=findobj(Objecthandle):返回Objecthandle中列出的对象和它们的子对象的句柄当前对象的定义:用鼠标刚刚点过的对象x=linspace(-pi,pi,100);y=sin(x);z=cos(x);plot(x,y,'r',x,z,'g');H1_lines=get(gca,'Children');for k=1:size(H1_lines)if get(H1_lines(k),'color')==[0 1 0] %查找图中绿色线条的句柄H1_green(k)=H1_lines(k);endendH1_green堆积次序堆积次序决定哪一对象叠加在其他对象上,最后被创建的对象在堆栈顶部默认属性使用set函数默认属性名:Default+属性名set(0,'DefaultAxesColorOrder',[0 0 0],...'DefaultAxesLineStyleOrder','-|--|:|-.')z=peaks;plot(1:49,z(4:7,:))。
figure函数
![figure函数](https://img.taocdn.com/s3/m/e6a1b80ebdd126fff705cc1755270722192e590b.png)
figure函数
Figure函数用来在Python中创建图形。
它是matplotlib库的一部分,能够帮助你将数据可视化,以便更好地理解和分析数据。
figure函数能够创建并管理图形,并包含多个子图形。
这些子图形可以包含不同的图表类型,例如折线图、散点图、柱状图等。
要使用figure函数,首先需要导入matplotlib库。
然后,你可以使用figure函数来创建一个新的图形,并指定图形的大小和分辨率。
例如,使用以下代码可以创建一个8英寸x6英寸的图形,分辨率为200 dpi:
fig = plt.figure(figsize=(8,6), dpi=200)
接下来,你可以使用add_subplot函数在图形中添加子图形。
例如,要添加一个折线图,可以使用以下代码:
ax = fig.add_subplot(1,1,1)
ax.plot(x,y)
这里,ax是子图形的句柄,从而可以使用其他matplotlib函数来格式化子图形,例如设置图例、坐标轴标签等。
最后,当你完成绘图时,可以使用show函数显示图形。
通过使用figure函数,你可以更轻松地创建图形,并自定义大小和
分辨率。
它可以帮助你以可视化的方式分析数据,从而使你的分析更有效率。
因此,使用figure函数可以极大地提高你的分析效率。
matlab句柄的用法
![matlab句柄的用法](https://img.taocdn.com/s3/m/15b55160492fb4daa58da0116c175f0e7dd11962.png)
matlab句柄的用法Matlab 句柄的用法句柄(Handle)是Matlab 编程中一个重要的概念,它用于引用对象(Object)或数据结构(data structures)的实例。
句柄的使用可以提高代码的灵活性和可重用性,并方便对对象进行处理和修改。
本文将针对Matlab 句柄的用法进行详细讨论,一步一步地回答与句柄相关的问题。
1. 什么是句柄?在Matlab 中,句柄是指对一个对象或数据结构的引用。
与其他编程语言类似,Matlab 的变量存储的是值,但通过句柄,我们可以间接地引用和操作变量所指向的对象,而不需要直接处理变量所存储的值。
这种间接的引用方式给Matlab 中的编程带来了很大的灵活性和高级特性,使得我们可以轻松地编写面向对象的代码。
2. 如何创建句柄?在Matlab 中,我们可以使用句柄类来创建对象并获得句柄。
句柄类是一种特殊的类,它允许多个句柄引用同一个对象实例。
要创建一个对象并获得句柄,我们可以按照以下步骤进行:步骤1:定义一个句柄类首先,我们需要定义一个句柄类。
句柄类是一个继承自handle 的类。
例如,我们可以定义一个句柄类MyClass 如下:matlabclassdef MyClass < handleproperties% 在这里定义类的属性endmethods% 在这里定义类的方法endend在这个示例中,我们定义了一个名为MyClass 的句柄类,该类继承自handle 类。
我们可以在properties 中定义类的属性,在methods 中定义类的方法。
步骤2:创建对象并获得句柄接下来,我们可以通过创建对象来获得句柄,并引用该对象的实例。
我们可以使用类的构造函数来创建对象,并将其赋值给一个变量。
例如,创建一个MyClass 的对象并获得句柄的代码如下:matlabmyObject = MyClass();这样,我们就创建了一个MyClass 的对象,并将其句柄存储在myObject 变量中。
matlab figure 用法
![matlab figure 用法](https://img.taocdn.com/s3/m/c576b221dcccda38376baf1ffc4ffe473368fdc6.png)
MATLAB Figure 用法1.引言M A TL AB是一种强大且广泛应用的数值计算软件,它提供了丰富的绘图功能。
其中,`f ig ur e`函数是用于创建图形窗口的关键函数。
这篇文档将介绍`fi gu re`函数的用法及相关技巧,帮助读者更好地进行数据可视化。
2.创建图形窗口要创建一个图形窗口,可以使用`fi gu re`函数。
以下是一些常见的用法:-创建一个默认大小的图形窗口:`f ig ur e`-创建一个指定大小的图形窗口:`f ig ur e('P os it ion',[le ft,b ot to m,w i dt h,he ig ht])`-创建一个具有特定名称的图形窗口:`f i gu re('Na me','窗口名称')`3.图形窗口的操作3.1关闭图形窗口要关闭一个图形窗口,可以使用`cl os e`函数。
以下是一些常用的示例:-关闭当前活动的图形窗口:`c lo se`-关闭指定窗口句柄的图形窗口:`c lo se(wi nd ow_h an dl e)`3.2切换图形窗口在M AT LA B中,可以通过`f ig ur e`函数的不同用法来切换图形窗口。
以下是一些示例:-切换到指定窗口句柄对应的图形窗口:`f ig ur e(wi nd ow_ha n dl e)`-切换到最近创建的图形窗口:`fi gu re('la st')`-切换到下一个图形窗口:`fi gu re('ne x t')`3.3最大化和最小化图形窗口要最大化或最小化一个图形窗口,可以使用`se t`函数来更改窗口的属性。
以下是一些示例:-最大化当前窗口:`s et(g cf,'Wi nd owS t at e','ma xi mi zed')`-最小化指定窗口句柄对应的窗口:`s et(w in do w_ha ndl e,'Wi nd ow St at e','mi ni mi ze d')`4.图形窗口的属性设置4.1背景颜色可以使用`s et`函数来设置图形窗口的背景颜色。
MATLAB数据可视化.ppt
![MATLAB数据可视化.ppt](https://img.taocdn.com/s3/m/7e587868647d27284a735116.png)
例如: x=-2*pi:pi/10:2*pi; y=sin(x);
z=2*abs(cos(x));
plot(x,y,x,z) title(‘按相同坐标刻度绘制两个图形’)
plotyy(x,y,x,z,'plot','semilogy') title('按不同坐标刻度绘制两个图形')
(3)采用对数坐标的曲线
loglog(x,y) 功能: x,y轴均采用对数刻度绘制图形
semilogx(x,y) 功能:仅x轴采用对数刻度,y轴仍采用线性刻度
semilogy(x,y) 功能:仅y轴采用对数刻度,x轴仍采用线性刻度
例如:
x=1:10; y=10*x.^2; semilogy(x,y)
4.2.3 图形窗口操作及图形缩放和填充
1
0
-1
-8
-6
-4
-2
0
2
4
6
8
双双双双双双双双双双双双双
1
1020
0
0
10
-1
10-20
-8
-6
-4
-2
0
2
4
6
8
(2) 坐标系的调整
axis函数 调用格式:axis([xmin xmax ymin ymax zmin zmax])
常用的格式还有: axis equal:横纵坐标轴采用等长刻度。 axis square:产生矩形坐标系。 axis auto:使用缺省设置。 axis off:隐去坐标轴。 axis on:显示坐标轴。
图例说明: legend(字符串1,字符串2,…):在当前图形内建立一图例 说明框,框内显示各字符串。并且图形的曲线与字符串依次 对应,可用鼠标拖动图例框改变其位置。 legend off 功能: 删掉图例说明框
matlab figure用法
![matlab figure用法](https://img.taocdn.com/s3/m/bcff9644df80d4d8d15abe23482fb4daa58d1da4.png)
matlab figure用法在MATLAB中,figure是一个常用的函数,用于创建新的图形窗口或者激活一个已经存在的图形窗口。
figure函数的用法如下:1. 创建新的图形窗口:```matlabfigure```这将在MATLAB中创建一个新的图形窗口。
2. 指定图形窗口的属性:```matlabfigure('PropertyName', propertyvalue, ...)```通过这种方式,你可以指定图形窗口的一些属性。
例如,你可以设置窗口的标题:```matlabfigure('Name', '显示处理结果')```或者指定窗口的大小和位置:```matlabfigure('Position', [600, 300, 300, 200])```其中属性值为一个四元数组rect = [left, bottom, width, height],第一、二个参数表示窗口位置,都是从屏幕的左下角计算的,让窗口起点左边距离左下角600,下边距离300,宽度为300,高度为200。
3. 根据句柄激活图形窗口:如果你有一个先前创建的图形窗口的句柄,你可以使用这个句柄来激活它:```matlabh = figure; % 创建一个新的图形窗口并返回其句柄figure(h); % 激活具有句柄 h 的图形窗口```如果句柄是先前一个窗口的句柄,则figure(h)相当于唤醒了该窗口,使得该窗口为当前窗口;如果h并不是某个窗口的句柄,但它是一个整数,则figure(h)创建一个句柄为h的新窗口。
matlab legend 句柄
![matlab legend 句柄](https://img.taocdn.com/s3/m/b4a29aa50875f46527d3240c844769eae009a3d0.png)
matlab legend 句柄
在MATLAB中,图例(legend)句柄是一个指向图例对象的引用,允许用户在程序中对图例进行操作。
图例句柄可以用于更改图例的
属性,如位置、字体大小、颜色等,或者在程序中动态更新图例内容。
要获取图例句柄,可以使用legend函数的输出参数,例如:
matlab.
h = legend('Plot1', 'Plot2');
这里的h就是图例的句柄。
然后可以使用h来操作图例,例如
更改位置:
matlab.
set(h, 'Location', 'NorthEast');
或者更改字体大小:
matlab.
set(h, 'FontSize', 12);
通过使用图例句柄,用户可以在程序中灵活地控制图例的外观和行为。
这对于需要自动化生成图形的程序非常有用,因为可以在不同条件下动态修改图例内容和属性。
同时,图例句柄也可以用于与其他图形对象进行交互,实现更复杂的图形操作和交互式界面设计。
希望这个回答能够帮助到你理解MATLAB中图例句柄的概念和用法。
matlab句柄绘图教学课件
![matlab句柄绘图教学课件](https://img.taocdn.com/s3/m/f86a72fc970590c69ec3d5bbfd0a79563c1ed4d8.png)
本教学课件将从句柄的基本定义入手,详细讲解MATLAB句柄绘图的实现方 法,同时提供可交互的实例演示和常见问题解答。
为什么要学习MATLAB句柄绘图
数据可视化
MATLAB可以帮助你更加清晰地呈现你的数据, 结合句柄绘图技术,可以制作出高质量且美观 的数据可视化图表。
编程作图
可交互的句柄绘图
1
响应用户交互事件
通过实现句柄对象的回调函数,你可以对用户的鼠标点击、鼠标移动等事件做出 响应。
2
实现可交互性
通过句柄对象的设置,你可以随时切换交互模式,方便用户快速地对数据进行分 析和理解。
句柄绘图的优点
高质量的图形输出
通过句柄绘图技术,你可 以实现高质量的图形输出, 使得数据更加清晰地呈现 在用户面前。
2 多动手实践
在学习过程中,多动手实践,加深对句柄绘图的理解和熟悉程度。
3 多参加交流活动
加入MATLAB爱好者社区或参加学术交流活动,与其他学习者交流互动,获取更多的帮 助和启发。
参考文献
1. MATLAB R2021a Documentation 2. Brian Rapp. MATLAB Graphics and Data Visualization Cookbook.
Packt Publishing Ltd, 2016. 3. David North. MATLAB Graphics and Data Visualization.
Pragmatic Bookshelf, 2021.
Q&A
1 如何实现3D立体图?
你可以通过添加z轴数据,设置view函数等方法实现3D立体图的绘制。
句柄的基本使用方法
第四节matlab句柄绘图-资料
![第四节matlab句柄绘图-资料](https://img.taocdn.com/s3/m/1d827b088e9951e79a89276a.png)
DefaultLineLineWide —— 线的宽度
DefaultLineColor —— 线的颜色
※省缺值的获得与设置也是由get,set函 数实现的
例:
get(0,'DefaultFigureColor') —— 获得图形 窗口的省缺值
第四节 matlab句柄绘图
——matlab语言的句柄绘图可以 对图形各基本对象进行更为细 腻的修饰,可以产生更为复杂 的图形,而且为动态图形的制 作奠定了基础。
高层绘图与底层绘图的区别
• 高层绘图函数——是对整个图形进行操 作的,图形每一部分的属性都是按缺省 方式设置的,充分体现了matlab语言的 实用性。
父对象
界面控制 界面菜单 轴
子对象
线
面
字
块
像
图形对象之间的关系为父代与子代的关系
说明: 根:图形对象的根,对应于计算机屏幕,根
只有一个,其它所有图形对象都是根的后 代。
图形窗口: 根的子代,窗口的数目不限,所 有图形窗口都是根屏幕的子代,除根之外, 其它对象则是窗的后代。
界面控制:图形窗口的子代,创建用户界面 控制对象,使得用户可采用鼠标在图形上 作功能选择,并返回句柄。
• uimenu创建用户界面菜单 调用格式: h=uimenu(‘property’,value) property/value 确定菜单形式。 • axes 创建轴对象
h=axes(‘property’, left, bottom )
width,height
定义轴对象的位置与大小
• line 创建线对象 h=line(x,y,z)
MATLAB图形句柄
![MATLAB图形句柄](https://img.taocdn.com/s3/m/0be7b64bae1ffc4ffe4733687e21af45b207fe51.png)
MATLAB图形句柄第七章 MATLAB图形句柄与第四章的高层绘图指令相比,本章的内容更深入MATLAB可视化功能的内核。
编写本章的目的有两个:(1)使读者更深入地理解高层绘图指令,从而可绘制出更精细更生动更个性的图形;(2)使读者能利用低层图形指令和图形对象属性开发专用绘图函数。
本章在内容安排上有如下考虑:保证概念、结构和方法的完整性:由表及里、由浅入深的原则系统阐述句柄图形体系、图形对象、属性和操作方法。
突出要点、新点和难点:句柄图形体系有11个基本图形对象,每个对象的属性少则20几个,多则近百个。
对此,MATLAB自带资料有详尽的文字说明。
因此,本章只对最常用的、不可或缺的、以及较难掌握的内容进行说明。
强调“可操作性”体现“范例引导概念”的本书宗旨:针对MATLAB自带资料缺少完整、可操作应用实例的弱点,本章设计了部分算例,读者通过阅读或操作这些范例,可掌握各指令、属性之间的有机配合,从而更具体更真切地理解句柄图形。
第一节图形对象及其句柄MATLAB语言的句柄绘图可以对图形各基本对象进行更为细腻的修饰,可以产生更为复杂的图形,而且为动态图形的制作奠定了基础。
高层绘图与底层绘图的区别(1)高层绘图函数—是对整个图形进行操作的,图形每一部分的属性都是按缺省方式设置的,充分体现了MATLAB语言的实用性;(2)底层绘图函数—可以定制图形,对图形的每一部分进行控制,用户可以用来开发用户界面以及各专业的专用图形。
充分体现了MATLAB语言的开发性。
一、图形对象MATLAB的图形对象包括计算机屏幕、图形窗口、坐标轴、用户菜单、用户控件、曲线、曲面、文字、图像、光源、区域块和方框等。
系统将每一个对象按树型结构组织起来。
例:河流断面面积计算程序(exam7_1.m)。
a=[13.0000,8.7700,8.7700,4.7700,4.2700,4.6700,4.1700,2.970 0,1.7700,1.0700,1 .6700,1.6700,2.5700,4.6700,3.9700,14.7000] %河底高程x=[0,80,190,245,290,330,400,460,535,580,620,665,730,810,8 60,890] %起点距Hf_1=figure('NumberTitle','off','name','断面面积计算','Position',[50,80,700,460]) %图形标题plot(x,a) %绘断面图set(gca,'Xdir','Normal','Ydir','Normal','Box','off');s=input('请输入水位值:');ss=s-a;sa=length(a)for i=1:sa;if ss(i)<0;sss(i)=0;elsesss(i)=ss(i);endendQ=trapz(x,sss);hold ony=[0:1:890];aa=['水位',num2str(s),'米'];plot(y,s,'r-')title(['所求的断面面积为',num2str(Q),'平方米'],'FontSize',14,'color','red'),xlabel('起点距(米)')ylabel('水深(米)')gtext(aa)hold off根:图形对象的根,对应于计算机屏幕,根只有一个,其它所有图形对象都是根的后代。
4MATLAB图形界面制作(GUI)与句柄图形
![4MATLAB图形界面制作(GUI)与句柄图形](https://img.taocdn.com/s3/m/278e2f39581b6bd97f19ea90.png)
一般制作步骤
界面制作包括界面设计和程序实现。具体制作 步骤如下:
(1)分析界面所要求实现的主要功能,明确设计任务。 (2)构建界面草图,并站在使用者的角度来审查草图。 (3)按构思的草图.制作(静态)界面并检查。 (4)编写界面动态功能的程序,对功能进行逐项检查。
[说明]
以上过程,仅是一般原则。在设计中,步骤之间也许要交叉 执行或复合执行。 设计和实现过程往往需要反复修改才能获得满意的界面。 建议先进行界面布局编码,后进行动态交互功能的编码。
2019/4/2 4
界面编程需要注意的事项
• 用户界面适合软件的功能(合适 性)。是指用户界面与软件功能 相融洽的程度。要避免用户的误 解、费解等。另外,不能为适应 某种体系结构的优势而导致界面 的不合适性。 容易理解。如果通过界面难以理 解界面的意图,使用起来一定费 力。容易理解是容易应用的前提。 要做到这一点:(1)界面中不能 有错字。(2)图标按钮含义直观 明了。(3)界面元素提供充分而 必要的提示。(4)界面结构能够 清晰的反映工作流程,以便用户 操作。 及时反馈信息。 防错处理。
2019/4/2 13
图形界面制作-菜单
• 在绝大多数的图形用户界面下,都包含有菜单。 通过选择各级菜单,可以执行相应的命令,实现 相应的功能。一般地,从菜单的标题或名字可以 大概了解该菜单的功能。在Windows系统中,菜 单一般位于用户图形界而的顶端。例如, MATLAB的主窗口中,就有一个主菜单栏,包括 File、Edit、View、Help等主菜单。在各级主菜单 下,还有相应的子菜单。 • 在MATLAB图形用户界面(GUI)设计中,有两种菜 单类型,分别是下拉式菜单类型Uimenu和内容式 菜单类型Uicontextmenu。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MATLAB GUI应用实战 (余胜威、吴婷、罗建桥)
(3)设置背景颜色
第四章 4.2.2 Figure函数使用
MATLAB GUI应用实战 (余胜威、吴婷、罗建桥)
Figure的属性设置有很多,如上面讲到的颜色、位置、大小、标题、背景色等等。针对 Figure的具体的应用,可以查看MATLAB Figure帮助文件。 (1)Figure弹窗位置设置 运行脚本文件,会自动弹出一个默认位置的Figure窗口,然后这个Figure窗口的位置 是可以更改的。
第四章 4.8 Figure动画显示
MATLAB GUI应用实战 (余胜威、吴婷、罗建桥)
MATLAB动画由一系列的帧图像组成,MATLAB图形可视化工具箱为动画化设计提供 了必备基础,以下将结合几个动画例子来说明。
第四章 (2)汉诺塔游戏
MATLAB GUI应用实战一根柱子上从下往上安大小顺序摞着64片黄金圆盘。玩 家需要做的是把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小 圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。
用户可对图形背景进行颜色修改,点击【图形颜色】,修改即可,例如修改为红色 ,则背景自动设置为红色背景,
第四章 4.2 Figure窗口属性
MATLAB GUI应用实战 (余胜威、吴婷、罗建桥)
Figure窗口属性设置,在4.1节采用绘图工具窗口进行了系统介绍,然而MATLAB也提 供程序化的设计框架进行图形的显示设置,即采用简单的程序语句即可设置相应的Figure 属性,例如图形的颜色设置:设置显示点的大小为set(h,'markersize',1) ;设置图形背景颜色 为set(gcf,'Color',[1,1,1]) 等。因此掌握Figure属性程序化设置,可以达到事半功倍的效果。 下面来看一个混沌系统分岔图
第四章 4.3.1 显示范围设置
MATLAB GUI应用实战 (余胜威、吴婷、罗建桥)
对于Figure轴显示范围设置,axis函数功能是很丰富的,有axis auto、axis manual、axis tight、axis fill、axis ij、axis xy、axis equal、axis image、axis square、axis vis3d、axis normal、axis off 、axis on、axis(axes_handles,…)等,具体的对如图4-33所示图形进行 轴显示范围设置,
第四章
MATLAB GUI应用实战 (余胜威、吴婷、罗建桥)
第4章 Figure图形句柄获取
第四章
MATLAB GUI应用实战 (余胜威、吴婷、罗建桥)
GUI本身就是一个Figure,只是GUI可以在Figure上添加各功能按钮,然而Figure属性在 GUI上同样适用,本章着重讲解Figure图形句柄获取,具体包括Figure窗口功能、Figure窗 口属性、坐标轴设置、Figure图形保存、查找对象并删除对象、Text对象、图形区域填充 显示、Figure动画显示、自定义菜单设计等,从而系统而全面的掌握和应用Figure进行图 形设计。 4.1 Figure窗口功能 MATLAB Figure图形窗口是一个强大的集成显示工具,包括线性绘图、3D绘图以及 图像显示等功能,由于其Figure强大显示功能,使得广大科研人员更加青睐于MATLAB 的使用。
从表面看,图形背景为白色、图形 点位黑色。那么图形的线性类型、 大小、颜色、刻度值等图形属性能 不能通过程序直接获取呢? MATLAB提供get函数进行图形属 性的查看,并且用户可以直接进行 设置。
第四章 4.2.1 设置Figure窗口属性
MATLAB GUI应用实战 (余胜威、吴婷、罗建桥)
当用户需要对图形进行设置时,可采用set函数进行设置,set函数和get函数类型一致, get函数是获取图形窗口属性,set函数则是对get函数属性的输出类别进行设计。 (1)设定图形显示标题
字体倾斜设置,即使字体倾斜一定的角度进行显示,然而字体倾斜显示只有 italic和oblique两种字体倾斜显示模式。
第四章
MATLAB GUI应用实战 (余胜威、吴婷、罗建桥)
4.7 图形区域填充显示 填充多边形命令,填充由点 (x1,y1),(x2,y2),……,(xn,yn)构成的多边形,其颜色 由c指明。
第四章 (2)采用获取帧图像法保存,具体代码如下:
%% 带坐标轴保存 clc,clear,close all % 清存 warning off % 取消警告 feature jit off % 加速代码执行 hassep7; % 运行hassep7脚本文件 h=getframe(figure(1)); % 抓帧 imwrite(h.cdata,'pic2.bmp'); % 保存图像
MATLAB GUI应用实战 (余胜威、吴婷、罗建桥)
Figure坐标轴设置用于显示用户所要定位显示的局部图形,不同的坐标轴设置,得到 的 图 形 给 人 的 视 角 是 不 同 的 , 坐 标 轴 设 置 方 法 有 很 多 , 例 如 axis([xmin,xmax,ymin,ymax])约束显示的xy轴范围、axis auto自动设置当前显示范围(默 认设置)、axis tight轴紧凑型显示,即xy轴的坐标范围和数据的范围一致、axis equal使 得数据在xy轴上显示的单位长度一致、axis manual可提供手动设置范围、axis square将 坐标轴设置为正方形显示、axis normal自动调节坐标轴横纵比、axis off取消显示坐标轴 、axis on显示坐标轴刻度。
MATLAB GUI应用实战 (余胜威、吴婷、罗建桥)
(3)采用saveas保存 需要注意的是: 1)gcf为当前窗口的句柄值; 2)gca为当前窗口中当前坐标轴的句柄值; 3)gco为当前窗口中当前对象的句柄值; 4)gcbf为当前回调函数中对应的窗口句柄值; 5)gcbo为当前回调函数中的对象句柄值。
第四章
MATLAB GUI应用实战 (余胜威、吴婷、罗建桥)
4.5 查找对象并删除对象
(1)查找图形句柄 采用findobj函数进行查找对象操作,在GUI大规模图像处理中常涉及到findobj使用, 用于查找相应的图像句柄。 (2)清除图形句柄 如图4-51所示,当前图形句柄为Figure3,采用delete函数进行删除, delete函数不同于close函数,delete函数是将图形句柄删除,而不只是关闭,这需要 用户注意的。
第四章 4.4.2 不带坐标轴保存
MATLAB GUI应用实战 (余胜威、吴婷、罗建桥)
不带坐标轴保存,可以简要说明为,关掉axis显示功能,具体的代码如下:
%% 不带坐标轴保存 hassep7; % 画图 axis off % 不显示轴
对图形,就可以使用文件另存为、saveas函数、getframe进行保存,保存的结果
第四章 4.6 Text对象 Figure图形text对象就是对text字体的颜色、大小等设置。 4.6.1 图形添加注释
MATLAB GUI应用实战 (余胜威、吴婷、罗建桥)
例如向一个Figure加入注释,具体的代码如下:
% text使用 clc,clear,close all % 清存 warning off % 取消警告 feature jit off % 加速代码执行 bar3(peaks(30)) % bar图 axis tight % 全坐标轴显示图形 set(gcf,'color',[1,1,1]) % 设置背景为白色 text(10,10,9,'bar型图') % 标记文字
第四章
MATLAB GUI应用实战 (余胜威、吴婷、罗建桥)
4.9 自定义菜单设计
菜单工具条为【文件】、【编辑】、【查看】、【插入】、【工具】、【桌面】、【窗 口】、【帮助】,也许用户会自定义一个菜单,方便自己调用。MATLAB提供uimenu函 数
第四章
MATLAB GUI应用实战 (余胜威、吴婷、罗建桥)
4.3.2 显示方向设置
(1)X轴反向 默认情况下坐标轴显示区间为从小到大,有时候用户需要对x轴方向进行取反操作, 即坐标轴显示为从大到小。 (2)Y轴反向 Y轴反向一个最简单的做法就是采用axis ij代码,
第四章 4.3.3 坐标轴刻度修改 (1)去掉轴坐标 (2)设置y轴为对数显示 (3)修改y轴显示刻度
第四章 对于图形的放大缩小、取点坐标等功能的介绍
MATLAB GUI应用实战 (余胜威、吴婷、罗建桥)
第四章
MATLAB GUI应用实战 (余胜威、吴婷、罗建桥)
我们知道Figure图形窗口有这些功能之后,接下来我们需要知道的是,如何手动修 改图形的坐标,坐标显示、颜色等,MATLAB提供了Figure编辑功能,具体点击如图410所示功能按钮——显示绘图工具和停靠图形。
第四章 (2)设置弹出Figure标题名称
MATLAB GUI应用实战 (余胜威、吴婷、罗建桥)
(3)设置弹出Figure标题不可见 (4)设置Figure弹窗标号 Figure图号是可以任意更改的,方便用户在程序中显示多个图形窗口,并且保证下一 个显示的图像不会替换上一个显示的图像。
第四章 4.3 坐标轴设置
>> figure(100) , % 先建一个窗口,标题为 Figure · 100 >> h=plot(data(:,1),data(:,2)/scale,'k.'); % 画图
第四章 (2)设定点显示大小
figure, % 画图 h=plot(data(:,1),data(:,2)/scale,'k.'); % 画图 set(h,'markersize',1) % 设置显示点的大小