Получить положение объекта на графике Matlab - PullRequest
1 голос
/ 20 февраля 2012

Как можно получить непосредственно из командного окна Matlab положение (то есть координаты) объекта (например, стрелки, прямоугольника или симуляции), который я нарисовал на графике?

1 Ответ

3 голосов
/ 20 февраля 2012

Обычно это можно сделать с помощью графических свойств дескриптора. Например:

Составить сюжет

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 («получить текущий объект»), которая предоставляет дескриптор последнего элемента, который вы вычертили или щелкнули вручную. Это может помочь, если вы не уверены, откуда взялся нанесенный элемент.


Edit:

Чтобы найти все свойства, являющиеся потомками объекта, используйте либо 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

Этот вызов удаляет некоторые общие аннотации пользовательского интерфейса

get(findall(gcf,'-not','type','uimenu','-not','type','uitoggletool','-not','type','uipushtool','-not','type','uitogglesplittool'),'type')

(Предположительно, последний пример мог бы быть улучшен с помощью правильно разработанного регулярного выражения, но сейчас я не могу заставить его работать).

...