# Get data point that was clicked on in graph

157 Ansichten (letzte 30 Tage)
Mark Hayworth am 30 Jan. 2023
Kommentiert: Mark Hayworth am 30 Jan. 2023
I have a plot on a GUIDE GUI that gives some measurement made from frames in a video. What my user wants is to click on a point in the plot and display the frame from the video that corresponds to that point in the graph. I was told from Mathworks tech support that this is not possible. But is it really impossible? They told me I could setup a callback function for the graph (axes) and then when I clicked on it I would go into the callback function and I could get the whole XData and YData vectors but I could not get the one point I clicked on, even though it shows up in the graph with the X and Y as data tips. So for example:
x=1:8;
y = rand(1, numel(x));
plot(x, y, 'b.-', 'MarkerSize', 15);
grid on;
And let's say I clicked on the point at x=6. I would go into the callback and be able to get the full 8-element x and y vectors, but the callback function would have no idea where I clicked or what the closest data point to that location is. Is that really true? I find that hard to believe. Is there any easy way to find out what vector element was clicked on? Or do I have to call on the almighty Yair Altman for a favor?
##### 0 Kommentare-2 ältere Kommentare anzeigen-2 ältere Kommentare ausblenden

Melden Sie sich an, um zu kommentieren.

### Antworten (1)

Yair Altman am 30 Jan. 2023
t=0:.01:5; y=sin(t); hPlot=plot(t,y);
hPlot.ButtonDownFcn = @(h,e) disp(e.IntersectionPoint);
Now whenever you click on the plot line, it will display the clicked coordinates [x,y,z]. The event data's IntersectionPoint is a 1x3 vector. Of course, to accept mouse clicks, the plot-line's HitTest property must be set to 'on' (or true).
##### 3 Kommentare1 älteren Kommentar anzeigen1 älteren Kommentar ausblenden
Yair Altman am 30 Jan. 2023
see attached
Mark Hayworth am 30 Jan. 2023
Thanks. Works perfectly. I knew you could do it. You're a genius! 😃

Melden Sie sich an, um zu kommentieren.

### Kategorien

Mehr zu Migrate GUIDE Apps finden Sie in Help Center und File Exchange

R2022b

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by