Plot a plane or line in 3D

User specifies two independent vectors, and the corresponding plane is graphed.

You are now following this Submission

The user supplies two independent 3x1 vectors, and output is a graph of the plane generated by these two vectors. A single input of one 3x2 matrix is also ok.

The user may specify just one vector. The plot will
then be just the line generated by that vector.

The plot will also be a line if the two input vectors are linearly
dependent.

Optional 3rd argument: User may also specify a string that determines the plot style of the plane, using the same string options as for MATLAB's plot function.

OTHER FUNCTIONS REQUIRED: arrow3D.m (by Shawn Arseneau), column3D.m, scatter3_2.m, normalize.m, rotatePoints.m
(all of these are included in zip file)

EXAMPLE: >> plotp([1;1;1],[2;2;-4])
>> plotp([1;1;1],[3;-3;0],'m')

EXAMPLE: for matrix of rank 1, plot the 2 dimensional nullspace (a plane), and 1 dimensional row space (a line), the two should be visibly orthogonal subspaces

>> A=[1 0 0; 2 0 0; 3 0 0]

A =

1 0 0
2 0 0
3 0 0

>> hold on
>> plotp(null(A))
>> plotp(orth(A'),'m')

Cite As

Calvin Price (2026). Plot a plane or line in 3D (https://www.mathworks.com/matlabcentral/fileexchange/22158-plot-a-plane-or-line-in-3d), MATLAB Central File Exchange. Retrieved .

Acknowledgements

Inspired by: 3D Arrow with many color/parameter options

General Information

MATLAB Release Compatibility

  • Compatible with any release

Platform Compatibility

  • Windows
  • macOS
  • Linux
Version Published Release Notes Action
1.1.0.0

Added "rotatePoints.m" into zip file; file is needed for arrow3D.m (by Shawn Arseneau)

1.0.0.0