2012-02-13 35 views
7

似乎根对象,a.k.a 0在Matlab中具有隐藏属性。例如,DefaultTextInterpreter就是其中之一:获取0(根对象)的所有属性(包括隐藏属性)

x = get(0,'DefaultTextInterpreter'); 

当我使用

get(0) 

我得到一个长长的名单,其中包括DefaultTextInterpreter


即使设置undocumented properties可见由

set(0,'HideUndocumented','off'); 

似乎并没有帮助。


我怎样才能找到所有根对象的属性,包括DefaultTextInterpreter

回答

9

默认属性不会隐藏也不会被记录 - 只需在属性名称前加上'Default'和对象类型('Line','Axes'等),即可用于所有标准Handle Graphics属性。这在the official documentation中有解释。

实际上,该机制也适用于隐藏/未记录的属性,如LineSmoothing属性的shown

要查看所有支持的默认属性,请执行以下操作:

>> get(0,'Default') 
ans = 
      defaultFigurePosition: [440 378 560 420] 
       defaultTextColor: [0 0 0] 
       defaultAxesXColor: [0 0 0] 
       defaultAxesYColor: [0 0 0] 
       defaultAxesZColor: [0 0 0] 
      defaultPatchFaceColor: [0 0 0] 
      defaultPatchEdgeColor: [0 0 0] 
       defaultLineColor: [0 0 0] 
    defaultFigureInvertHardcopy: 'on' 
      defaultFigureColor: [0.8 0.8 0.8] 
       defaultAxesColor: [1 1 1] 
      defaultAxesColorOrder: [7x3 double] 
      defaultFigureColormap: [64x3 double] 
     defaultSurfaceEdgeColor: [0 0 0] 
     defaultFigurePaperType: 'A4' 
     defaultFigurePaperUnits: 'centimeters' 
     defaultFigurePaperSize: [20.98404194812 29.67743169791] 

注意,这不返回无证默认值。您可以随时获得无证违约直接:

>> get(0,'DefaultLineLineSmoothing') 
ans = 
off 


因为我不能帮助自己:-),这里有一点现在已经真正-无证知识,不回答这个问题的任择议定书,但不知何故有关。读者谁是只在原来的问题或纯粹的详细记录/支持的东西,有兴趣的可以跳过这部分:

>> p = findprop(handle(gcf),'pos') 
p = 
    schema.prop 

>> p.get 
      Name: 'Position' 
    Description: '' 
     DataType: 'figurePositionType' 
    FactoryValue: [100 100 660 520] 
    AccessFlags: [1x1 struct] 
     Visible: 'on' 
    GetFunction: [] 
    SetFunction: [] 

在这个简单的代码片段,注意缺省(FactoryValue)为UDD汞的位置属性.Figure类与根的DefaultFigurePosition属性返回的HG默认值不同。有关UDD属性的更多信息,请参阅here

附录2013年2月13日:我刚刚发布了detailed article解释Matlab的默认和工厂的属性值是如何工作的,它们是如何相互关联,以及如何进行访问。

+0

感谢您的信息。所以基本上我需要'get(0,'Default')'来查看所有这些。您能否将这个事实添加到您的答案中,供其他人使用? – 2012-02-14 14:01:35

+1

我怎么会错过它?我甚至在那页上!很好的答案,@Yair,照常。唯一的修正:它不是简单地在“Default”前添加,而是添加对象类型 - 'Line','Axes'等。我也很好奇这种机制与获得标准HG属性的方式不同。 – yuk 2012-02-14 15:30:52

2

0是调用Root object。 (Setting Default Property Values

这不是问题的完整答案。我只是想在UndocumentedMatlab.com得到您的关注几篇文章:

它有一个链接从亚伊尔奥特曼非常实用 - getundoc。但它也不显示默认属性。

我认为@Yair_Altman是应该回答这个问题的人。

+0

感谢您的回答!我发现了这个链接,甚至在我关于set的问题中写了(0,'HideUndocumented','off');但它似乎没有帮助'DefaultTextInterpreter' – 2012-02-13 22:39:08

+0

是的,我认为你知道这篇文章。但既然链接不在问题中,我就把它放在这里。 – yuk 2012-02-13 22:46:18

+0

好吧,无论如何,(+1),因为答案可能会帮助其他人 – 2012-02-13 22:49:11