Scatter3, insert dashed line downwards, and sideways
16 views (last 30 days)
Show older comments
I want to show my data in a scatter3 plot.
However, the way the data is shown, it is not very clear where exactly on the 3 axis the data points are.
An example,
figure;
x = 0.9914;
y = 0.0390;
z = 20
scatter3(x,y,z,'filled')
view(-30,10)
What I would like to do is to draw a dashed line straight downwards from the point, so that it is clearer where the point is on the XY plane. Also, I would like to draw a dashed line from the point to the Z axis, so that it is clear where the point is on the Z axis plane.
If this turns out to be too messy I will look at a way to write the XYZ values for each point just above each point.
0 Comments
Accepted Answer
Giovanni Mottola
on 6 Oct 2016
Here I assumed x, y, z are vectors of length "len".
To draw a line joining each scatter point to the horizontal plane use:
hold on
for i=1:len
plot3([x(i), x(i)], [y(i), y(i)], [0, z(i)], 'b--')
end
To draw a line joining each scatter point to the vertical axis use:
for i=1:len
plot3([0, x(i)], [0, y(i)], [z(i), z(i)], 'r--')
end
Final result for len=5 (random points):
5 Comments
Giovanni Mottola
on 6 Oct 2016
Try:
view([0, 0])
ylim([0 2.2])
xlim([0 2.2])
zlim([0 2.2])
And
view([90, 0])
ylim([0 2.2])
xlim([0 2.2])
zlim([0 2.2])
More Answers (0)
See Also
Categories
Find more on Surface and Mesh Plots in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!