[MATLAB]图形窗口与坐标轴基本对象

  • 图形对象的句柄
  • 图形对象的属性
  • 图形窗口的操作
  • 坐标轴的操作

图形对象句柄

句柄的概念

在MATLAB中,用句柄来标识对象,通过句柄来访问相应对象的属性。

画图获得句柄测试

>> t=0:pi/10:2*pi;
>> h1=plot3(t+pi,t-2*pi,sin(t),'r');
>> hold on;
>> [x,y]=meshgrid(t);
>> z=sin(x);
>> h2=mesh(t-2*pi,t+pi,z);
>> [x3,y3,z3]=cylinder(t);
>> h3=surf(x3,y3,z3);
>> 

在这里插入图片描述
h1,h2,h3分别是曲线、曲面、圆锥的句柄,这就是传说中的句柄。

访问图形对象

对象句柄.属性名

下面给出测试的源码:

>> x=0:pi/10:2*pi;
>> y=sin(x);
>> h1=plot(x,y)

h1 =

  152.0057

>> h1.LineWidth=3;
>> h1.LineStyle='-.';
>> 

在例子中,我修改了线的样式和线的宽度。

获取特定图形对象句柄的函数

  • gcf:获取当前图形窗口的句柄
  • gca:获取当前坐标轴的句柄
  • gco:获取最近被选中的图形对象的句柄
  • findobj:按照指定的属性来获取图形对象的句柄。

图形对象属性

图形对象的常用公共属性

  • Children属性:该对象的所有子对象的句柄组成的一个向量。
  • Parent属性:该对象的父对象的句柄。
  • Type属性:对象的类型,这是一个只读属性
  • Tag属性:用于给对象定义一个标识符。

讲的太过于干渴,通过个小案例

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

subplot(1,2,1)
h1=fplot(@(t)t.*sin(t),@(t)t.*cos(t),[0,6*pi] );
axis equal
subplot(1,2,2)
[x,y,z]=peaks(20);
h2=mesh(x,y,z);
h10=h1.Parent;
h10.Color='y';
h1.Color='r';
h2.Parent.Color='cyan';

图形对象的常用动态属性

  • KeyPressFcn属性:定义按下键盘按键事件的响应
  • CreateFcn属性:定义创建图形对象时做出的响应.
  • DeleteFcn属性:定义取消图形对象时做出的响应.
  • WindowButtonDownFcn和ButtonDownFcn属性:定义单击鼠标左键事件的响应.

图形窗口的操作

建立图形窗口对象

使用figure函数,其调用格式为:

  • 句柄变量=figure(属性1,属性值1,属性2,属性值2,…)其中,属性用于设置图形窗口的特征
  • 句柄变量=figure
  • figure(窗口句柄)

图形窗口属性

  • MenuBar属性:控制图形窗口是否具有菜单条,其取值为“none”或’figure’
  • Name属性:指定图形窗口的标题
  • NumberTitle属性:决定着在图形窗口的标题中是否以’Figure n:'为标题前缀
  • Color属性:设定图形窗口背景的颜色。
  • Position属性:定义了图形窗口对象在屏幕上的位置和大小,值是一个4元行向量[x,y,w,h].
  • Units属性:定义图形窗口使用的长度单位。
'pixels'
'inches'
'centimeters'
'points'
'normalized'

坐标轴对象的操作

建立坐标轴对象

使用axes函数,其调用格式为:

  • 句柄变量=axes(属性1,属性值1,属性2,属性值2,…)其中,属性用于设置坐标轴的特征。
  • 句柄变量=axes
  • axes(坐标轴句柄)

坐标轴对象的属性

  • Position属性:定义坐标轴在图形窗口中的位置和大小
  • Units属性:定义坐标轴使用的度量单位,默认值是’normalized’。
  • Box属性:决定坐标轴是否带有边框,可取值是‘on’或‘off’(默认值)
  • GridLineStyle属性:用于定义网格线的类型,取值可以是’:’(默认值)、‘-’、‘-.’、‘–’或‘none’.
  • Title属性:用于对坐标轴标题对象进行操作,取值是通过titile函数建立的标题对象的句柄。
  • XLabel、YLabel、ZLabel属性:取值分别是通过xlabel、ylabel、zlabel函数建立的坐标轴标签对象的句柄。
  • XLim、YLim、ZLim属性:用于定义各坐标轴的下限和上限,取值是向量[Lmin,Lmax],默认值为[0,1].
  • XScale、YScale、ZScale属性:用于定义各坐标轴的刻度类型,可取值是’linear’(默认值)、’‘log’.
  • View属性:用于定义观点、取值是向量[oz,el],oz定义视点的方位角,el定义视点的仰角。

登高山峰图形的分割

>> ha1=axes('Position',[0.1,0.1,0.7,0.7]);
>> contour(peaks(20))
>> ha1.Title=title('等高线');
>> ha1.YLabel=ylabel('南北方');
>> ha1.XLabel=xlabel('东西方');
>> ha2=axes('Position',[0.65,0.7,0.28,0.28]);
>> surf(peaks(20))
>> ha2.View=[-30,45];
>> 

在这里插入图片描述

  • ColorOrder属性:用于设置多条曲线的颜色顺序,是一个n*3矩阵,矩阵的每一行用RGB三元组表示一种颜色,默认n为7.

定义ColorOrder属性,绘制6条曲线

x=[0,0];y=[0,1];
ha=axes;
ha.ColorOrder=[0,0,0; 1,0,0; 0,1,0; 0,0,1];
hold on
plot(x,y, x+0.5,y, x+1,y, x+1.5,y, x+2,y, x+2.5,y);
ha.XLim=[-0.2,3];
ha.YLim=[-0.2,1.2];

在这里插入图片描述

发布了137 篇原创文章 · 获赞 30 · 访问量 8869

猜你喜欢

转载自blog.csdn.net/m0_37149062/article/details/105360550
今日推荐