Domanda

Come è possibile ottenere, direttamente dalla finestra di comando MATLAB, la posizione (cioè le coordinate) di un oggetto (ad esempio una freccia, un rettangolo o una sim.) Che ho disegnato su una trama?

È stato utile?

Soluzione

Di solito puoi farlo utilizzando le proprietà grafiche della maniglia. Per esempio:

Fare una trama

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

Quindi ottieni i valori effettivi dei punti x = get (h, 'xdata') y = get (h, 'ydata')

Diversi tipi di oggetti hanno proprietà diverse, a volte devi esplorare. In tal caso questa sintassi è utile.

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

Un bocconcino utile finale è il gco ("Ottieni Oggetto Current Object"), che fornisce l'impugnatura dell'ultimo elemento che hai tracciato o su cui hai fatto clic manualmente. Questo può aiutare se non sei sicuro da dove provenga l'oggetto tracciato.


Modificare:

Per trovare tutte le proprietà che sono discendenti di un oggetto, usa entrambi findobj, o findall. Per esempio:

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

Questa chiamata rimuove alcune annotazioni di interfaccia utente comuni

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

(Presumibilmente l'ultimo esempio potrebbe essere migliorato con un regexp adeguatamente progettato, ma non riesco a farlo funzionare in questo momento.)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top