connecting points in scatter3 plot?

11 views (last 30 days)
hi there. I am trying to connect points in a scatter3 plot. i tried using line, but that is applicable for 2D plot. but the data contains 3 dimensions. can anyone please tell me which command should i use after the line to connect points? thanks in advance.
scatter3(objlist.r_c(1,1,:),objlist.r_c(2,1,:),objlist.r_c(3,1,:))

Accepted Answer

Matt Tearle
Matt Tearle on 4 Nov 2014
OK, now I understand the problem. The issue isn't that the data is representing 3-dimensional points, but that it's stored in a 3-D array. So you need to squeeze or reshape your data into vectors:
x = objlist.r_c(1,1,:);
x = x(:);
y = objlist.r_c(2,1,:);
y = y(:);
z = objlist.r_c(3,1,:);
z = z(:);
scatter3(x,y,z);
line(x,y,z)
% or plot3(x,y,z,'o-')
Or
x = squeeze(objlist.r_c(1,1,:));
y = squeeze(objlist.r_c(2,1,:));
z = squeeze(objlist.r_c(3,1,:));
scatter3(x,y,z);
line(x,y,z)

More Answers (3)

Matt Tearle
Matt Tearle on 4 Nov 2014
Edited: Matt Tearle on 4 Nov 2014
What about plot3?
plot3(rand(5,1),rand(5,1),rand(5,1),'o-')
But I also don't understand what the problem is with line. This does the same as plot3:
x = rand(5,1);
y = rand(5,1);
z = rand(5,1);
scatter3(x,y,z)
line(x,y,z)

Sanjoy Basak
Sanjoy Basak on 4 Nov 2014
my data has 3 dimensions as you can see here..
(objlist.r_c(1,1,:) there is a z dimension here.. line only deals with 2 dimension points..line is not working..can you tell me any other way or any other command to join the points? no just a straight line, something else like spline would also be fine..

Sanjoy Basak
Sanjoy Basak on 4 Nov 2014
thank you very much...now it is working fine..:)

Categories

Find more on Spline Postprocessing in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!