设定对象属性

优质
小牛编辑
133浏览
2023-12-01

所有对象属性都有默认值。然而,改变一些属性设置以定制图形可能有用。有两个途径可以设定对象属性:

  • 创建对象时指定属性值。
  • 在现有的对象中设置属性值

从作图命令设定属性

类似作图函数,在诸如plot, mesh, 和surf的创建对象用的函数也可以指定对象属性值为变元。

例如,可以用创建线或表面的作图命令来指定属性名称和属性值为二元变元。命令

    plot(x,y,'LineWidth',1.5)
    

以x和y为变元作出数据图,用到具有LineWidth 属性且设为1.5点(1点=1/72英寸)的线。可以用此法设定任何线对象。

设定现有对象的属性

要修改现有对象属性值,可以用set命令,如若作图编辑模式已打开,则可用属性编辑器。属性编辑器对许多对象属性提供图形用户界面。本节描述如何用设置命令。详见属性编辑器的使用。

很多作图命令可以返回所建对象的句柄,这样你可以用set命令修改对象。例如,下列语句创立一个5*5矩阵(创立5行,每行一列),然后设置Marker为正方形并设MarkerFaceColor为绿色。

    h = plot(magic(5));
    set(h,'Marker','s',MarkerFaceColor','g')
    

在此情形下,h是一个包含5个句柄的向量,每个句柄代表图形中五行之一。语句set设置每一行的MarkerMarkerFaceColor为同一个值。

设置多个属性值

若要对每条线的属性设置另一个值,可以用单元数组来储存所有数据并把它传给set命令。例如,创建一幅图并保存线句柄。

    h = plot(magic(5));
    

假如要对每条线添加不同的标记并对标记外观填上与线相同的颜色,则须定义两个单元数组,一个包含属性名,另一个则包含想设的属性值。

单元数组prop_name包含两个元素。

    prop_name(1) = {'Marker'};
    prop_name(2) = {'MarkerFaceColor'};
    

prop_values 单元数组包含10个值-5个表示表示Marker标记属性,另5个表示MarkerFaceColor属性。注意prop_values是一个二维单元数组。第一维表示不同值赋给h中的哪个句柄,第二维表示值赋给哪个属性。

    prop_values(1,1) = {'s'};
    prop_values(1,2) = {get(h(1),'Color')};
    prop_values(2,1) = {'d'};
    prop_values(2,2) = {get(h(2),'Color')};
    prop_values(3,1) = {'o'};
    prop_values(3,2) = {get(h(3),'Color')};
    prop_values(4,1) = {'p'};
    prop_values(4,2) = {get(h(4),'Color')};
    prop_values(5,1) = {'h'};
    prop_values(5,2) = {get(h(5),'Color')};
    

MarkerFaceColor 总是把值赋给对应的线的颜色的(该颜色通过用get命令设置线的Color(颜色)属性得到)。

定义了单元数组后,调用set命令来指定新的属性值。

    set(h,prop_name,prop_values)