Asked by tarsis
on 12 Nov 2013

Hi all, I have the following formula that allow me to plot 2D points calculated from a text file.

plot(endpnts(:,1),scyendpnts,'sr', 'MarkerSize',5,'MarkerFaceColor', 'b', 'MarkerEdgeColor', 'none'); %plot all endpoints a red dots

plot(endpnts(R,1),scyendpnts(R),'sr', 'MarkerSize',5, 'MarkerFaceColor', 'b', 'MarkerEdgeColor', 'none');

I'm trying to also connect the points two by two with a line, like (4:1) with (5:1), (6:1) with (7:1) and so on but can't figure out how - by using the statement bellow I can draw a line between all points.

hold on;

plot(endpnts(:,1),scyendpnts,'LineWidth',2, 'MarkerFaceColor','b');

plot(endpnts(R,1),scyendpnts,'LineWidth',2, 'MarkerFaceColor','b')

I thank you in advance

Tarsis

Answer by Walter Roberson
on 12 Nov 2013

Accepted Answer

plot(endpnts(:,1),scyendpnts,'sr', 'MarkerSize',5,'MarkerFaceColor', 'b', 'MarkerEdgeColor', 'none');

is enough to draw lines between each pair of points, with red square markers.

I am not sure what more you want done? Do you want a line connecting the last point to the first? If so then

plot(endpoints([1:end 1],1), scyendpnts([1:end 1]), 'sr', 'MarkerSize',5,'MarkerFaceColor', 'b', 'MarkerEdgeColor', 'none');

Are you trying to connect every point to every other point, so point 4 is connected to point 1, 2, 3, 5, 6, etc?

tarsis
on 12 Nov 2013

Hi Walter, thanks a lot.

Just one more question, is there a way for this plot start from endopoint 4 instead of 1?

Thank a lot

Tarsis

Walter Roberson
on 13 Nov 2013

x = reshape(endpnts(4:end,1), 2, []);

y = reshape(scyendpnts(4:end), 2, []);

Just watch out that the number of remaining points is even (so the number of original points must be odd); if it is not then the above code will crash trying to match up the last entry.

tarsis
on 13 Nov 2013

Awesome, thanks again.

Sign in to comment.

Answer by Seyedfarid Ghahari
on 27 Apr 2017

Hi,

Is there any automatic way to connect points to each other as 1 to 2, 3 to 4, 5 to 6, ... without using for. In other words, I have Xi, Yi, Zi and Xj, Yj, and Zj vectors which contain X, Y, and Z coordinates of start (i) and end (j) of many lines. I would like to draw these lines, but if I use:

plot3([Xi,Xj],[Yi,Yj],[Zi,Zj])

Matlab connects all lines, while I want to have all lines disconnected!

Walter Roberson
on 27 Apr 2017

Seyedfarid Ghahari
on 27 Apr 2017

Sign in to comment.

Opportunities for recent engineering grads.

Apply Today
## 0 Comments

Sign in to comment.