31 views (last 30 days)
Show older comments
DJ V on 21 May 2024 at 14:40
Commented: Voss on 21 May 2024 at 18:40
Accepted Answer: Voss
I need to learn how to plot lines and points in 3D. Can someone please provide an example in Matlab? Thank you.
0 Comments Show -2 older commentsHide -2 older comments
Show -2 older commentsHide -2 older comments
Sign in to comment.
Sign in to answer this question.
Accepted Answer
Voss on 21 May 2024 at 14:42
Open in MATLAB Online
A = [1 -3 7];
B = [0 2 -6];
C = [0.5 -1 5];
% plot a line from A to B
v = [A; B];
plot3(v(:,1),v(:,2),v(:,3))
box on
grid on
xlabel('x')
ylabel('y')
zlabel('z')
% plot the point C
hold on
plot3(C(1),C(2),C(3),'o')
8 Comments Show 6 older commentsHide 6 older comments
Show 6 older commentsHide 6 older comments
DJ V on 21 May 2024 at 16:50
Direct link to this comment
https://www.mathworks.com/matlabcentral/answers/2121111-plotting-lines-and-points-in-3d#comment_3167881
Edited: Voss on 21 May 2024 at 16:59
Open in MATLAB Online
Thank you for troubling to answer: I come up with the following trying to create a drawing, but two of the lines aren't being shown. The ones that go to -1 on the Y axis. Can this be fixed to include the -1 on the Y axis? Is there a way to control the magnitude of the box that is being turned on? Is there a way to control the dimensions of the box that is turned on? Thanks.
A1 = [0 0 0];
A2 = [1 1 2];
A3 = [-1 1 2];
A4 = [1 -1 2];
A5 = [-1 -1 2];
% plot a line from A1 to AN
v = [A1; A2];
plot3(v(:,1),v(:,2),v(:,3))
box on
hold on
v = [A1; A3];
plot3(v(:,1),v(:,2),v(:,3))
hold on
v = [A1, A4];
plot3(v(:,1),v(:,2),v(:,3))
hold on
v = [A1, A5];
plot3(v(:,1),v(:,2),v(:,3))
hold on
box on
grid on
Voss on 21 May 2024 at 16:58
Direct link to this comment
https://www.mathworks.com/matlabcentral/answers/2121111-plotting-lines-and-points-in-3d#comment_3167886
Open in MATLAB Online
You're welcome!
The problem with the plots involving A4 and A5 is that you're horizontally concatenating instead of vertically concatenating, which makes v 1x6 instead of 2x3. When v is 1x6, doing plot3(v(:,1),v(:,2),v(:,3)) plots a single point instead of two points with a line in between.
A1 = [0 0 0];
A2 = [1 1 2];
A3 = [-1 1 2];
A4 = [1 -1 2];
A5 = [-1 -1 2];
% plot a line from A1 to AN
v = [A1; A2];
plot3(v(:,1),v(:,2),v(:,3))
hold on
v = [A1; A3];
plot3(v(:,1),v(:,2),v(:,3))
v = [A1; A4];
% ^ semicolon (not comma)
plot3(v(:,1),v(:,2),v(:,3))
v = [A1; A5];
% ^ semicolon (not comma)
plot3(v(:,1),v(:,2),v(:,3))
box on
grid on
You can control the axes limits (and thus the box around the axes) using xlim, ylim, and zlim, e.g.:
ylim([-1 2])
DJ V on 21 May 2024 at 17:09
Direct link to this comment
https://www.mathworks.com/matlabcentral/answers/2121111-plotting-lines-and-points-in-3d#comment_3167896
Thank you very much!
Voss on 21 May 2024 at 17:17
Direct link to this comment
https://www.mathworks.com/matlabcentral/answers/2121111-plotting-lines-and-points-in-3d#comment_3167911
You're welcome! Any questions, let me know. Otherwise, please "Accept" this answer. Thanks!
DJ V on 21 May 2024 at 18:01
Direct link to this comment
https://www.mathworks.com/matlabcentral/answers/2121111-plotting-lines-and-points-in-3d#comment_3167981
Is there any command I can give to get MATLAB to draw this thing to scale? Thank you.
Voss on 21 May 2024 at 18:08
Direct link to this comment
https://www.mathworks.com/matlabcentral/answers/2121111-plotting-lines-and-points-in-3d#comment_3167991
Open in MATLAB Online
axis equal
DJ V on 21 May 2024 at 18:29
Direct link to this comment
https://www.mathworks.com/matlabcentral/answers/2121111-plotting-lines-and-points-in-3d#comment_3168011
The man with all the answers!
Voss on 21 May 2024 at 18:40
Direct link to this comment
https://www.mathworks.com/matlabcentral/answers/2121111-plotting-lines-and-points-in-3d#comment_3168021
Sign in to comment.
More Answers (0)
Sign in to answer this question.
See Also
Categories
MATLABGraphics2-D and 3-D PlotsSurfaces, Volumes, and PolygonsSurface and Mesh Plots
Find more on Surface and Mesh Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
An Error Occurred
Unable to complete the action because of changes made to the page. Reload the page to see its updated state.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- Deutsch
- English
- Français
- United Kingdom(English)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)
Contact your local office