访问属性值
对象属性,点符号
绘图函数返回对象或对象创建的函数。例如:
h =情节(1:10);
h
指的是值的线画在图1到10。
点符号是一个新的语法来访问对象属性从R2014b开始。这个语法使用对象变量和区分大小写的属性名与一个点(。
),形成一个对象点属性名称表示法:
object.PropertyName
如果nonscalar对象变量,使用索引来引用一个对象:
对象(n) .PropertyName
标量对象变量
如果h
创建的行吗情节
函数表达式h.Color
这个特定的值是线的吗颜色
属性:
h.Color
ans = 0 0.4470 - 0.7410
如果你把颜色值赋给一个变量:
c = h.Color;
的变量c
是一个双。
谁
c类名称大小字节1 x3 24 h 1 x1 112 matlab.graphics.chart.primitive.Line两倍
你可以改变这一行的颜色
属性的赋值语句:
h.Color= [0 0 1];
使用点符号属性引用表达式:
小气鬼=意味着(h.YData);
或者改变属性值:
h。线宽= h。线宽+ 0.5;
引用其他对象中包含的属性与多个点的引用:
h.Annotation.LegendInformation.IconDisplayStyle
ans =对
设置对象的属性中包含的属性:
甘氨胆酸ax =;ax.Title。FontWeight =“正常”;
Nonscalar对象变量
图形函数可以返回一个对象数组。例如:
y =兰德(5);h =情节(y);大小(h)
答1 = 5
访问行代表的第一列y
使用数组索引:
h (1)。线型=“——”;
使用集
函数设置线型
数组中的所有行:
集(h,“线型”,“——”)
附加数据属性值
点符号,您可以使用“结束”索引数据附加到包含数据数组的属性,如线XData
和YData
。例如,这个代码更新XData
和YData
一起成长。你必须确保线的x和y数据呈现与调用之前是相同的drawnow
MATLAB或返回®提示。
h =情节(1:10);为k = 1:5 h。XData(end + 1) = h.XData(end) + k; h.YData(end + 1) = h.YData(end) + k; drawnow结束
图形对象变量处理
图形函数返回的对象变量处理。句柄是对实际对象的引用。对象变量处理在特定行为方式时复制和删除的对象。
复制对象变量
例如,创建一个图一行:
h =情节(1:10);
现在将对象变量复制到另一个变量,设置一个属性值与新的对象变量:
h2 = h;h2。颜色= (1,0,0)
分配对象的变量h
来h2
创建一个处理的副本,但不是对象引用变量。的值颜色
房地产从变量访问h
从变量访问是一样的吗h2
。
h.Color
ans = 1 0 0
h
和h2
引用同一个对象。复制一个处理对象变量并不复制对象。
删除对象变量
现在有两个对象变量在工作区中,指同一条直线。
谁
大小字节类h 1 x1 112 matlab.graphics.chart.primitive名称。行h2 1 x1 112 matlab.graphics.chart.primitive.Line
现在关闭图包含线图:
关闭gcf
行对象不再存在,但对象变量指的是仍然存在行:
谁
大小字节类h 1 x1 112 matlab.graphics.chart.primitive名称。行h2 1 x1 112 matlab.graphics.chart.primitive.Line
然而,对象变量不再有效:
h.Color
无效的或删除对象。
h2。颜色=“蓝”
无效的或删除对象。
删除无效的对象变量,使用清晰的
:
清晰的hh2
清单对象属性
看看属性包含一个对象,使用得到
功能:
得到(h)
MATLAB返回一个对象的属性列表和他们的当前值:
AlignVertexCenters:‘离开’注释:[1 x1 matlab.graphics.eventdata。注释]BeingDeleted:‘off’BusyAction:“队列”ButtonDownFcn:“孩子:[]剪裁:”的颜色:[0 0.4470 - 0.7410]…线型:“-”线宽:0.5000标记:“没有一个”……
你可以看到属性的值可能值的枚举集合使用集
功能:
集(h,“线型”)
',' ',' ':' ' -。' '没有'
显示所有可设置的属性包括可能的值属性值的枚举集合,使用集
对象变量:
集(h)
修改和设置和获取属性
的基本语法设置现有对象的一个属性的值是:
集(对象”,PropertyName”,NewPropertyValue)
查询特定对象属性的当前值,使用一个声明的形式:
returned_value = (对象”,PropertyName”);
属性名总是特征向量。您可以使用单引号或一个变量是一个特征向量。属性值取决于特定属性。
多对象/属性操作
如果对象参数是一个数组,MATLAB设置指定的值在所有确定的对象。例如:
y =兰德(5);h =情节(y);
设置所有红色的线:
集(h,“颜色”,“红色”)
设置相同的属性的对象,指定属性名和属性值使用结构或单元阵列。例如,定义一个结构,适当地设置轴属性来显示一个特定的图:
view1。CameraViewAngleMode =“手册”;view1。DataAspectRatio = (1 1 1);view1。投影=“视角”;
对当前轴,设置这些值类型:
view1集(gca)
查询多个属性
您可以定义一个单元阵列的属性名称和使用它来获得这些属性的值。例如,假设您想要查询的值轴“相机模式”属性。首先,定义单元阵列:
camModes = {“CameraPositionMode”,“CameraTargetMode”,…“CameraUpVectorMode”,“CameraViewAngleMode”};
使用这种细胞数组作为参数来获取这些属性的当前值:
camModes get (gca)
ans = '汽车' '汽车' '汽车' '汽车'