Selecting a point on a scatter plot, saving index of point
22 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
James Morris
el 17 de Ag. de 2019
Comentada: darova
el 18 de Ag. de 2019
What is the best way to allow a user to select 5 data points on a scatter plot and then save the index of these plots?
Code I am currently using:
disp('Following the trajectory from <start> to <end>, please click 5 points on the plot where you think the keypress moments are, press Enter to confirm');
% Save points selected on plot by user
[user_selected_keypressframes] = ginput;
% Extract coordinates for each user selected point and save
[uskf1] = user_selected_keypressframes(1,:);
[uskf2] = user_selected_keypressframes(2,:);
[uskf3] = user_selected_keypressframes(3,:);
[uskf4] = user_selected_keypressframes(4,:);
[uskf5] = user_selected_keypressframes(5,:);
Issue:
This code allows the user to click/select any area within the plot, I want them to only be able to click/select data points so I can save the index of these points.
1 comentario
Walter Roberson
el 17 de Ag. de 2019
Sounds like you might want brushing https://www.mathworks.com/help/matlab/ref/brush.html
Respuesta aceptada
darova
el 17 de Ag. de 2019
You can use pdist2() and min() functions to select closest to your data points
clc,clear
x = linspace(0,10,20)';
y = sin(x);
plot(x,y,'.-b')
g = ginput(3); % pick 3 points
D = pdist2([x y],g);
[~,ix] = min(D); % indices
hold on
plot(x(ix),y(ix),'or')
hold off
2 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Scatter Plots en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!