主要内容

访问属性值

对象属性和点表示法

图形函数返回函数创建的对象或对象。例如:

h =情节(1:10);

H指在值1到10的图表中绘制的线。

点表示法语法使用对象变量和与点连接的区分大小写的属性名称()形成对象点属性名称表示法:

object.propertyname.

如果对象变量是非卡尔,请使用索引来引用单个对象:

对象(n).propertyname

标量对象变量

如果H是由此创建的线情节功能,表达式H-COLOR.是这个特定行的价值颜色属性:

H-COLOR.
ANS = 0 0.4470 0.7410

如果将颜色值分配给变量:

C = H.Color;

变量C是一个双重的。

谁是
名称大小字节类C 1X3 24 Double H 1x1 112 Matlab.graphics.chart.primitive.line

您可以更改此行的值颜色具有作业声明的财产:

H.Color = [0 0 1];

在表达式中使用DOT表示法属性引用:

意思=平均值(h.ydata);

或更改属性值:

H.LineWidth = H.LineWidth + 0.5;

参考具有多个点引用的属性中包含的其他对象:

H.Annotation.LegendInformation.IcondisPlayStyle.
ans = On.

设置属性中包含的对象属性:

斧头= GCA;ax.title.fontweight =.'正常';

nonscalar对象变量

图形函数可以返回一个对象数组。例如:

y =兰特(5);h = plot(y);尺寸(h)
ans = 5 1

访问代表第一列的行y使用数组索引:

h(1).linestyle =' - ';

使用函数来设置LINESTYLE.在阵列中的所有行:

套(H,'linestyle'' - '

将数据附加到属性值

有了点应表示,您可以使用“结束”索引来将数据追加到包含数据阵列的属性,例如行xdata.ydata.。例如,此代码更新该行xdata.ydata.一起种植线。您必须在使用呼叫之前确保行的X和Y数据的大小相同drawn或者返回matlab®提示。

h =情节(1:10);对于k = 1:5 h.xdata(end + 1)= h.xdata(end)+ k;H.YDATA(末端+ 1)= H.YDATA(END)+ K;drawn结束

图形对象变量是句柄

图形功能返回的对象变量是把手。处理是对实际对象的引用。在复制时以及删除对象时,蜂窝的对象变量在特定的方法中行使。

复制对象变量

例如,使用一行创建图形:

h =情节(1:10);

现在将对象变量复制到另一个变量,并使用新对象变量设置属性值:

h2 = h;h2.color = [1,0,0]

分配对象变量HH2.创建句柄的副本,但不是变量引用的对象。价值颜色从变量访问的属性H与从变量访问的相同H2.

H-COLOR.
ans = 1 0 0

HH2.请参阅相同的对象。复制句柄对象变量不会复制对象。

删除对象变量

现在有两个物体变量在工作空间中引用同一行。

谁是
名称大小字节类H 1x1 112 MATLAB.Graphics.chart.PRimitive.line H2 1x1 112 MATLAB.Graphic.Chart.PRimitive.line

现在关闭包含线图的图形:

GCF.

行对象不再存在,但仍然存在引用该行的对象变量:

谁是
名称大小字节类H 1x1 112 MATLAB.Graphics.chart.PRimitive.line H2 1x1 112 MATLAB.Graphic.Chart.PRimitive.line

但是,对象变量不再有效:

H-COLOR.
无效或已删除的对象。
H2.COLOR =.'蓝色'
无效或已删除的对象。

要删除无效的对象变量,请使用明确

明确HH2.

列出对象属性

要查看对象包含的属性,请使用得到功能:

得到(h)

MATLAB返回对象属性的列表及其当前值:

aligentvertexcenters:'关'注释:[1x1 matlab.graphics.EventData.Annotation]呈现:'Off'BoubleAction:'Queue'Buttondownfcn:''子项:[]剪辑:'上'颜色:[0 0.4470 0.7410] ...LINESTYLE:' - '线宽:0.5000标记:'无'...

您可以使用使用枚举集可能值的属性值功能:

套(H,'linestyle'
' - '' - ':'' - 。''没有'

显示所有可设置的属性,包括具有枚举的值集的属性的可能值,使用使用对象变量:

设置(h)

使用设置和获取修改属性

您还可以使用此访问和修改属性得到职能。

在现有对象上设置属性值的基本语法是:

组(目的,'propertyname.',newpropertyvalue)

要查询特定对象属性的当前值,请使用表单的语句:

return_value = get(目的,'propertyname.');

属性名称始终是字符向量。您可以使用单引号或一个是字符向量的变量。属性值取决于特定属性。

多对象/属性操作

如果对象参数是数组,则MATLAB在所有已识别的对象上设置指定的值。例如:

y =兰特(5);h = plot(y);

将所有线设置为红色:

套(H,'颜色''红'

要在多个对象上设置相同的属性,请使用结构或单元格数组指定属性名称和属性值。例如,定义一个结构以适当地设置轴属性以显示特定的图形:

View1.CameraviewAnglemode ='手动';view1.dataaspectratio = [1 1];查看1.分解='透视';

要在当前轴上设置这些值,请键入:

SET(GCA,View1)

查询多个属性

您可以定义属性名称的单元格数组,并使用它来获取这些属性的值。例如,假设您要查询轴“摄像机模式”属性的值。首先,定义单元格数组:

Cammodes = {'camerapositionMode''cameratargetmode'......'cameraupvectormode''cameraviewanglemode'};

使用此单元格数组作为参数以获取这些属性的当前值:

获得(GCA,Cammodes)
ans ='auto''auto'''auto''auto'