获取0(根对象)的所有属性(包括隐藏的属性)

And*_*ein 7 matlab

它似乎是根对象,也就是0Matlab中隐藏的属性.例如,DefaultTextInterpreter 是其中之一:

 x = get(0,'DefaultTextInterpreter');
Run Code Online (Sandbox Code Playgroud)

我用的时候

 get(0)
Run Code Online (Sandbox Code Playgroud)

我得到一个很长的清单,其中包括DefaultTextInterpreter.


甚至可以将未记录的属性设置为可见

 set(0,'HideUndocumented','off');
Run Code Online (Sandbox Code Playgroud)

似乎没有帮助.


如何找到根对象的所有属性,包括DefaultTextInterpreter

Yai*_*man 9

默认属性不是隐藏的也不是未记录的 - 它们可用于所有标准Handle Graphics属性,只需在属性名称前加上"Default",同时加上对象类型('Line','Axes'等).这在官方文档中有解释.

实际上,此机制也适用于隐藏/未记录的属性,如LineSmoothing属性所示.

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

>> 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]
Run Code Online (Sandbox Code Playgroud)

请注意,这不会返回未记录的默认值.您始终可以直接获取未记录的默认值:

>> get(0,'DefaultLineLineSmoothing')
ans =
off
Run Code Online (Sandbox Code Playgroud)


既然我不能帮助自己:-),这里有一些现在真正无证的知识,它不回答OP问题,但它以某种方式相关.只对原始问题或纯文档/支持的内容感兴趣的读者可以安全地跳过此部分:

>> 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: []
Run Code Online (Sandbox Code Playgroud)

在这个简单的代码片段中,请注意UDD hg.Figure类的position属性的默认值(FactoryValue)与根的DefaultFigurePosition属性返回的HG默认值不同.有关UDD属性的更多信息,请参见此处.

附录2013-02-13:我刚刚发布了一篇详细的文章,解释了Matlab的Default和Factory属性值如何工作,它们如何相互关联以及如何访问它们.