2012-06-12 5 views
7

Ecco la configurazione:scalabile, scatola trascinabile su trame che possono selezionare i dati

Ho una rappresentazione grafica dei dati, e sto cercando di trovare se è fattibile per cercare di mettere una scatola sulla figura che può essere spostato e modificato in larghezza e restituire alcuni valori come percentuale di e area sotto la curva. Sembra qualcosa di simile:

Example

Tutti i suggerimenti su dove cominciare? La mia sensazione è che potrebbe essere fattibile usando un'interfaccia più GUI rispetto a una trama standard.

risposta

8

Vorrei iniziare con imrect. È trascinabile e puoi aggiungervi dei callback.

(presi direttamente da MATLAB help)

figure, imshow('cameraman.tif'); 
h = imrect(gca, [10 10 100 100]); 
addNewPositionCallback(h, @(p) title(mat2str(p, 3))); 
fcn = makeConstrainToRectFcn('imrect', get(gca,'XLim'), get(gca, 'YLim')); 
setPositionConstraintFcn(h, fcn); 

Modificare il addNewPositionCallback a qualcosa che si adatta alle vostre esigenze. In particolare, ottieni i pixel necessari dall'immagine (usando la posizione) e calcola ciò che vuoi.

+1

Sono sicuro che questo è esattamente ciò di cui ho bisogno. Grazie! – Brian