访问属性值

对象的属性和点表示法

作图函数返回由函数创建的一个或多个对象。例如:

H =情节(1:10);

H是指通过10中的值1的曲线图中绘制的线。

圆点符号语法使用对象变量,并用一个点连接的情况下,敏感的属性名称(),以形成一目标点的属性名表示法:

object.PropertyName

如果对象变量是非标量,使用索引来引用一个单独的对象:

对象(n)的.PropertyName

标对象变量

如果H在线路通过所创建的情节函数,则表达式h.Color是这一行的价值颜色属性:

h.Color
ANS = 0 0.4470 0.7410

如果您指定的颜色值的变量:

C = h.Color;

变量C是双。

谁是
名称大小字节C类1×3 24双H的1x1 112 matlab.graphics.chart.primitive.Line

你可以改变这一行的价值颜色财产与赋值语句:

h.Color = [0 0 1];

使用点在表达符号属性引用:

MEANY =平均值(h.YData);

或更改属性值:

h.LineWidth = h.LineWidth + 0.5;

参考包含在与多点的引用属性的其他对象:

h.Annotation.LegendInformation.IconDisplayStyle
ANS =上

设置包含在性能对象的属性:

AX = GCA;ax.Title.FontWeight ='正常';

非标量对象变量

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

Y =兰特(5);H =情节(Y);尺寸(H)
ANS = 5 1

访问表示第一列线ÿ使用阵列索引:

H(1)= .LineStyle' - ';

使用功能设置的LineStyle的阵列中的所有行:

集(H,'的LineStyle'' - '

数据附加到属性值

有了点符号,你可以使用“结束”的索引将数据添加包含数据数组属性,如线扩展数据YDATA。例如,该代码更新行扩展数据YDATA共同成长线​​。你必须确保生产线的x和y数据的大小是相同的与呼叫渲染之前的DrawNow或返回到MATLAB®提示。

H =情节(1:10);对于K = 1:5 h.XData(端+ 1)= h.XData(结束)+ K;h.YData(端+ 1)= h.YData(结束)+ K;的DrawNow结束

图形对象变量是把手

通过图形函数返回的对象变量手柄。句柄是实际对象的引用。复制和当对象被删除时,对象变量是手柄以特定的方式行事。

复制对象变量

例如,创建具有一个线的曲线图:

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.graphics.chart.primitive.Line

现在关闭包含线图所示:

GCF

该生产线的对象已不存在,但提到了线路的对象变量做仍然存在:

谁是
名称规格H字节级的1x1 112 matlab.graphics.chart.primitive.Line H2的1x1 112 matlab.graphics.chart.primitive.Line

然而,对象变量不再有效:

h.Color
无效或删除的对象。
h2.Color ='蓝色'
无效或删除的对象。

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

明确HH2

清单对象的属性

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

得到(H)

MATLAB返回对象的属性和它们的当前值的列表:

AlignVertexCenters: '关闭' 注释:[1×1 matlab.graphics.eventdata.Annotation] BeingDeleted: '关' BusyAction: '排队' ButtonDownFcn:'孩子:[]剪辑: '在' 颜色:[0 0.4470 0.7410] ...的LineStyle: ' - ' 线宽:0.5000标记: '无' ...

你可以看到属性的值与枚举组使用的可能值功能:

集(H,'的LineStyle'
' - ' ' - ' ':' ' - '。'没有'

成与所列举的一组值,使用显示所有可设置的属性,包括可能的值的属性与对象变量:

组(H)

用set和get修改属性

您也可以访问和修改属性使用得到功能。

用于设定一个现有的对象上的属性值的基本语法是:

组(宾语属性名”,NewPropertyValue)

要查询的特定对象属性的当前值,使用形式的语句:

returned_value = GET(宾语属性名“);

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

多对象/属性操作

如果对象参数为数组,MATLAB设置对所有标识的对象指定的值。例如:

Y =兰特(5);H =情节(Y);

将所有的线为红色:

集(H,'颜色''红色'

上的对象的数量设置的相同的属性中,指定属性名称和使用结构或单元阵列的属性值。例如,定义一个结构来适当地设定轴属性来显示一个特定的曲线图:

view1.CameraViewAngleMode = '手动';view1.DataAspectRatio = [1 1 1];view1.Projection = '视角';

要设置的当前轴这些值,输入:

集(GCA中,View1)

查询多个属性

您可以定义的属性名称的单元阵列,并用它来获取这些属性的值。例如,假设您要查询的轴“相机模式”属性的值。首先,定义在单元阵列:

camModes = {'CameraPositionMode''CameraTargetMode'...'CameraUpVectorMode''CameraViewAngleMode'};

使用此单元阵列作为一个参数,以获得这些属性的当前值:

得到(GCA,camModes)
ANS =“自动”“自动”“自动”“自动”