# How to show selected points and connect first point to last point?

12 views (last 30 days)
Mariam Shahab on 26 Sep 2022
Commented: Mariam Shahab on 1 Oct 2022
Hi all,
I have the following code:
[x,y]=ginput(); % user can chose any number of coordinates by clicking on graph
plot(x,y);
Is there a way that when the user clicks in the graph, the selected points are marked (to show the selected points)?
Lastly, I want the first point to connect to the last point, but I am not sure how to do this.
I will appreaciate if someone can help me out with my two inquiries. Many thanks!
##### 2 CommentsShowHide 1 older comment
Mariam Shahab on 26 Sep 2022
Thank you. This was what I was looking for.

Daksh on 29 Sep 2022
Hi
It is my understanding that you wish to view marked points in real time as the user selects multiple points in a plot using "ginput" and you want all points connected, all the way from the first to the last in order through a line.
The following code illustatres how to achieve the same; I've assumed you know the number of points to be marked beforehand (I've taken 5 points in this case) and I've also put the number tag string on each marked point to depict the order of point marking:
clear all
close all
%assuming you want to plot 5 points for example
n=5;
a=zeros(n,1);
b=zeros(n,1);
%running a loop over all selected points
for i=1:5
%allowing user to click a point to choose, x,y store the coordinates
[x,y] = ginput(1);
%text depiction for each point, with "i" as the point marker
h1 = text(x,y,int2str(i), ...
'HorizontalAlignment','center', ...
'Color', [1 0 0], ...
'FontSize',8);
a(i)=x;
b(i)=y;
end
hold on
%plotting a line between all points
plot([a ; a(1)],[b ; b(1)], 'b-');
hold off
Hope it helps
Mariam Shahab on 1 Oct 2022