MATLABプロットでオブジェクトの位置を取得します
-
28-10-2019 - |
質問
解決
通常、ハンドルグラフィックプロパティを使用してこれを行うことができます。例えば:
プロットを作成します
h = plot(1:10, rand(10,1));
次に、ポイントx = get(h、 'xdata')y = get(h、 'ydata')の実際の値を取得します。
get(h) %This displays all available properties on `h` to the command window
最終的な有用な情報はです gco
(「現在のオブジェクトを取得」)関数。これは、プロットまたは手動でクリックした最後のアイテムのハンドルを提供します。これは、プロットされたアイテムがどこから来たのかわからない場合に役立ちます。
編集:
オブジェクトの子孫であるすべてのプロパティを見つけるには、どちらも使用します findobj
, 、 また findall
. 。例えば:
findobj(gcf); %Returns all non-hidden, typical objects. This should be your first attempt.
findall(gcf); %Returns all children, even hidden object, such as titles, manually added annotations, and UI menus
この呼び出しは、いくつかの一般的なUIアノテーションを削除します
get(findall(gcf,'-not','type','uimenu','-not','type','uitoggletool','-not','type','uipushtool','-not','type','uitogglesplittool'),'type')
(おそらく、適切に設計されたRegexpで最後の例を改善することができますが、私は今それを機能させることはできません。)
所属していません StackOverflow