Question

Comment est-il possible d'obtenir, directement à partir de la fenêtre de commande Matlab, la position (à savoir les coordonnées) d'un objet (par exemple une flèche, un rectangle ou sim.) Que je tire sur un terrain?

Était-ce utile?

La solution

Vous pouvez généralement le faire en utilisant les propriétés graphiques poignée. Par exemple:

Faire un terrain

h = plot(1:10, rand(10,1)); 

Ensuite, obtenir les valeurs réelles des points x = get (h, 'xdata') y = get (h, 'ydata')

Les différents types d'objets ont des propriétés différentes, parfois vous devez explorer. Dans ce cas, cette syntaxe est utile.

get(h)  %This displays all available properties on `h` to the command window

Une friandise finale utile est le gco ( « get objet courant ») fonction, qui fournit la poignée du dernier élément que vous avez comploté ou cliqué manuellement. Cette aide peut si vous ne savez pas où l'élément tracé est venu.


Edit:

Pour toutes les propriétés qui sont des descendants d'un objet, utilisez soit findobj ou findall. Par exemple:

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

Cet appel supprime certaines annotations de l'interface utilisateur de commun

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

(On peut supposer que le dernier exemple pourrait être améliorée avec une expression rationnelle bien conçu, mais je ne peux pas sembler obtenir que le travail en ce moment.)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top