How to Create 3D Plot in MATLAB: Syntax and Examples
To create a 3D plot in MATLAB, use the
plot3 function with vectors for X, Y, and Z coordinates. You can also use functions like mesh or surf for surface plots to visualize 3D data.Syntax
The basic syntax for a 3D line plot is plot3(X, Y, Z), where X, Y, and Z are vectors of the same length representing coordinates in 3D space. For surface plots, use mesh(X, Y, Z) or surf(X, Y, Z) where X and Y define a grid created by meshgrid and Z contains height values.
matlab
plot3(X, Y, Z) mesh(X, Y, Z) surf(X, Y, Z)
Example
This example shows how to create a 3D line plot of a helix using plot3. It plots points in 3D space with X, Y, and Z coordinates.
matlab
t = linspace(0,10*pi,500); X = sin(t); Y = cos(t); Z = t; plot3(X, Y, Z, 'LineWidth', 2) grid on xlabel('X axis') ylabel('Y axis') zlabel('Z axis') title('3D Helix Plot')
Output
A 3D line plot of a helix curve with labeled axes and grid.
Common Pitfalls
- Not using vectors of the same length for
X,Y, andZcauses errors. - For surface plots,
XandYmust be matrices created bymeshgrid, not vectors. - Forgetting to label axes or enable grid can make the plot hard to read.
matlab
% Wrong: vectors of different lengths X = 1:10; Y = 1:8; Z = 1:10; plot3(X, Y, Z) % This will error % Right: vectors of same length X = 1:10; Y = linspace(1,10,10); Z = rand(1,10); plot3(X, Y, Z)
Quick Reference
| Function | Description | Input Requirements |
|---|---|---|
| plot3(X,Y,Z) | 3D line plot | X, Y, Z vectors of same length |
| mesh(X,Y,Z) | 3D mesh surface plot | X, Y from meshgrid; Z matrix |
| surf(X,Y,Z) | 3D colored surface plot | X, Y from meshgrid; Z matrix |
Key Takeaways
Use plot3 with equal-length vectors X, Y, Z for 3D line plots.
Use meshgrid to create X and Y matrices for surface plots with mesh or surf.
Always label axes and enable grid for better plot readability.
Check input sizes carefully to avoid dimension mismatch errors.