2012-02-13 19 views
7

ルートオブジェクトであるa.k.a 0はMatlabの隠れたプロパティを持つようです。例えば、DefaultTextInterpreterは、そのうちの一つである:すべてのプロパティを取得する(隠しオブジェクトを含む)0(ルートオブジェクト)

x = get(0,'DefaultTextInterpreter'); 

私は

get(0) 

を使用する場合、私はDefaultTextInterpreterが含まれていない長いリストを取得します。


はさえ助けていないようです

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

で見えるようにundocumented propertiesを設定します。私はDefaultTextInterpreter含めて、ルートオブジェクトのプロパティのすべてを見つけることができますどのように


答えて

9

デフォルトのプロパティは非表示でも非公開でもありません。オブジェクトタイプ( 'Line'、 'Axes'など)と共にプロパティ名に 'Default'という接頭辞を付けるだけで、すべての標準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 


を私が:-)自分自身を助けることができないので、ここで何とか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: [] 

を注意してUDD HGの位置プロパティのデフォルト(FactoryValue) .Figureクラスは、ルートのDefaultFigurePositionプロパティによって返されるHGデフォルトとは異なります。 UDDプロパティの詳細については、hereを参照してください。

補遺2013年2月13日:私はちょうど彼らがお互いに関連して、彼らがどのようにアクセスすることができますどのように、MATLABのデフォルトや工場のプロパティ値がどのように動作するかを説明するdetailed articleを掲載しました。

+0

情報ありがとうございます。ですから、基本的には、すべてを見るには 'get(0、 'Default')'を実行する必要があります。この事実をあなたの答えに加えてください。 –

+1

私はそれを見逃すことができますか?私はそのページにいました!素晴らしい答え、@ Yair、いつも通り。唯一の修正点は、単に「Default」のプレフィックスではなく、オブジェクトタイプ「Line」、「Axes」などを追加することです。このメカニズムが標準HGプロパティを取得する方法とはどのように異なるのか不思議です。 – yuk

2

0は、Root objectです。 (Setting Default Property Values

これは質問に対する完全な答えではありません。私はちょうどUndocumentedMatlab.comで記事のカップルにあなたの注意を取得したい:

それはYairアルトマンからの偉大なユーティリティへのリンクがある - getundocを。ただし、デフォルトのプロパティも表示されません。

私は@Yair_Altmanがこの質問に答えるべきだと信じています。

+0

あなたの答えをありがとう!私はそのリンクを発見し、さらに私の質問にセット(0、 'HideUndocumented'、 'オフ')について書きました。しかし、それは 'DefaultTextInterpreter'の助けをしてくれないようです。 –

+0

はい、私はあなたがその記事を知っていると思っていました。しかし、リンクは問題ではなかったので、私はここに入れました。 – yuk

+0

答えが誰か他の人を助けるかもしれないので、とにかく、(+1) –

関連する問題