How to Plot 3D in MATLAB (2024)

  1. Use the mesh() Function to Create Surface Plots in MATLAB
  2. Use the scatter3() Function to Create a 3D Scatter Plot in MATLAB
  3. Use the contour3() Function to Create a 3D Contour Plot in MATLAB
  4. Use the plot3() Function to Create a 3D Plot of Point or Line in MATLAB
  5. Use the quiver3() Function to Create a 3D Quiver or Vector Plot in MATLAB
  6. Use the bar3() Function to Create a 3D Bar Graph in MATLAB
How to Plot 3D in MATLAB (1)

This tutorial will discuss creating 3d plots using the mesh(), scatter3(), contour3(), plot3(), quiver3(), and bar3() functions in MATLAB.

Use the mesh() Function to Create Surface Plots in MATLAB

Matlab’s built-in function mesh() creates the surface plots on a 3D plane. We can pass the matrix inside the mesh() function as a function that we want to plot in the 3D plane.

The mesh() function will plot the given matrix along the z-axis using the default value for the x-y coordinates. The x and y coordinates will be from the indices of the given matrix.

The given matrix will be plotted on the z-axis as heights on a three-dimensional plane.

For example, let’s create a matrix Z and plot it on the surface plot using the mesh() function in Matlab.

See the code below.

clc[x,y] = meshgrid(-18:1:18);r = sqrt(x.^2 + y.^2)/2;z = cos(r)./r;mesh(x,y,z)

Output:

How to Plot 3D in MATLAB (2)

Use the scatter3() Function to Create a 3D Scatter Plot in MATLAB

If we want to create a 3D scatter plot, we can use the scatter3() function. This function is the same as the scatter() function, though it plots the given data in a 3D plane.

We can give two or three input vectors to the scatter3() function.

In the case of three inputs, the first vector contains the x coordinates, the second contains the y coordinates, and the third contains the z coordinates.

In the case of two input vectors, the third coordinate z will be taken from the indices of the first two coordinates.

For example, let’s plot a scatter plot in a 3D place using the scatter3() function.

See the code below.

clcx = linspace(0,2*pi,100);y = sin(x) + rand(1,100);z = 1:100;scatter3(x,y,z)

Output:

How to Plot 3D in MATLAB (3)

Check this link for more details about the scatter() function.

Use the contour3() Function to Create a 3D Contour Plot in MATLAB

We can use Matlab’s built-in function contour3() to create a 3D contour plot. A contour plot is a plot of isolines with different colors according to values.

The color given to the line depends on its value. The colder color corresponds to low values, and the hotter color corresponds to high values.

For example, let’s plot a 3D contour plot of a sphere using the sphere() and the contour3() function. See the code below.

clc[x,y,z] = sphere(100);contour3(x,y,z);

Output:

How to Plot 3D in MATLAB (4)

Use the plot3() Function to Create a 3D Plot of Point or Line in MATLAB

We already know about the plot() function in Matlab, which is used to plot data on a 2D plane. The plot3() function is similar to the plot() function.

The only difference is that the plot3() function plots data on a 3D plane. We can plot data as a line, aka a continuous plot, and as points, aka a discrete plot.

We have to pass three coordinates, x, y, and z, to plot the data on a 3D plane. For example, let’s plot a helix in 3D using the plot3() function.

See the code below.

clct = 0:pi/50:10*pi;sinet = sin(t);cost = cos(t);plot3(sinet,cost,t)

Output:

How to Plot 3D in MATLAB (5)

Check this link for more details about the plot3() function.

Use the quiver3() Function to Create a 3D Quiver or Vector Plot in MATLAB

Matlab’s built-in function quiver3() can be used to plot a 3D quiver or vector plot. A scalar consists of only magnitude, but a vector contains magnitude and direction.

We can create a 3D plot of scalar data using the plot3() function, but we cannot plot vector data using the plot3() function because the function will not plot the direction of the vector.

In the case of vector, we can use the quiver3() function, which will plot the magnitude and direction of the vector.

For example, let’s create a matrix and plot it on a 3D plane with direction. See the code below.

clcm = [1:10 ;10:-1:1;1:10];quiver3(m,m,m,m)

Output:

How to Plot 3D in MATLAB (6)

Check this link for more details about the quiver3() function.

Use the bar3() Function to Create a 3D Bar Graph in MATLAB

We can use Matlab’s built-in function bar3() to plot a bar graph in a 3D plane. We must pass the data’s input matrix, plotted as heights on the z-axis in a 3D plane.

The other two coordinates (x and y) will be taken from the indices of the given matrix. For example, let’s create a 3D bar graph from a given matrix.

See the code below.

clcm = [1:10 ;10:-1:1;1:10];bar3(m)

Output:

How to Plot 3D in MATLAB (7)

Check this link for more details about the bar3() function.

How to Plot 3D in MATLAB (2024)

FAQs

How to plot a 3-D graph in MATLAB? ›

To plot a 3D surface from a data file in MATLAB, you will need to have the data file open in MATLAB. Once you have the data file available, you can use the plot3 command to plot the data. The plot3 command will create a 3D plot of the data. You can also use the surf command to create a 3D surface plot.

How to create a 3D model in MATLAB? ›

Direct link to this answer

In MATLAB, the patch function can be used to generate a 3D model by specifying the vertices and faces of the object. This function provides a convenient way to plot and visualize 3D objects in MATLAB. patch('Vertices', vertices, 'Faces', faces, 'FaceColor','red');

How to draw a 3-D surface in MATLAB? ›

surface( X , Y , Z ) creates a primitive, three-dimensional surface plot. The function plots the values in matrix Z as heights above a grid in the x-y plane defined by X and Y . The color of the surface varies according to the heights specified by Z .

How to plot f xyz in MATLAB? ›

Description. fimplicit3( f ) plots the 3-D implicit function defined by f(x,y,z) = 0 over the default interval [-5 5] for x , y , and z . fimplicit3( f , interval ) specifies the plotting interval for x , y , and z . fimplicit3( ax ,___) plots into the axes specified by ax instead of into the current axes.

How to plot a 3D graph in Matlab using Excel data? ›

The following example will illustrates how to do that:
  1. % Read the data points as a matrix.
  2. T = readmatrix('3DPlot.xlsx');
  3. % Create a meshgrid for plotting.
  4. [xq,yq] = meshgrid(0:.2:11.5, 0:.2:7.6);
  5. % Interpolate the points using griddata function.
  6. vq = griddata(t(:, 1), t(:, 2), t(:, 3),xq,yq);
  7. % Plot the surface.
Nov 23, 2022

What is the 3D visualization element in Matlab? ›

Plot data on 3-D globe, create 3-D relief maps, drape data over terrain. 3-D visualization functions enable you display and explore geographic data.

How to plot a cube in Matlab? ›

  1. Create a matrix containing the eight three-dimensional coordinates of the vertices of your cube. ...
  2. Create a matrix defining which four vertices will be linked to form the six faces of a cube. ...
  3. Graph the cube using the patch() function that forms linked polygons.

Can MATLAB be used for 3D modeling? ›

You can use MATLAB® to create a 3D environment, build actors, and view the 3D environment in the Simulation 3D Viewer. To learn how to create and view 3D simulations in the Unreal Engine simulation environment, follow these examples.

Can you make a 3D matrix in MATLAB? ›

You can create a multidimensional array by creating a 2-D matrix first, and then extending it. For example, first define a 3-by-3 matrix as the first page in a 3-D array. Now add a second page. To do this, assign another 3-by-3 matrix to the index value 2 in the third dimension.

How to create a 3D geometry in MATLAB? ›

Use multicuboid , multicylinder , or multisphere to create a 3-D geometry. Then assign the resulting geometry to the Geometry property of the model. For example, create a PDE model and add the following geometry formed by three spheres to the model. model = createpde; gm = multisphere([1,2,3]); model.

How to plot a 3-D graph? ›

  1. Define a vector-valued function of a single parameter to create a curve in 3D. ...
  2. Insert a 3D plot, type the name of the function in the placeholder without its arguments, and change the Trace Color and the Trace Thickness. ...
  3. Define t as a range variable above the plot.

How to define a 3-D function in MATLAB? ›

f — 3-D function to plot

Specify a function of the form z = f(x,y) . The function must accept two matrix input arguments and return a matrix output argument of the same size. Use array operators instead of matrix operators for the best performance.

How to make a 3-D pie chart in MATLAB? ›

Create 3-D Pie Chart
  1. x = [1,3,0.5,2.5,2]; figure pie3(x) fig2plotly(gcf, 'TreatAs', 'pie3');
  2. x = [1,3,0.5,2.5,2]; figure pie3(x) explode = [0,1,0,0,0]; figure pie3(x,explode) fig2plotly(gcf, 'TreatAs', 'pie3');
  3. x = 1:3; labels = {'Taxes','Expenses','Profit'}; figure pie3(x,labels) fig2plotly(gcf, 'TreatAs', 'pie3');

How to make a 3-D array in MATLAB? ›

You can create a multidimensional array by creating a 2-D matrix first, and then extending it. For example, first define a 3-by-3 matrix as the first page in a 3-D array. Now add a second page. To do this, assign another 3-by-3 matrix to the index value 2 in the third dimension.

How to plot a 3-D graph in MATLAB using Excel data? ›

The following example will illustrates how to do that:
  1. % Read the data points as a matrix.
  2. T = readmatrix('3DPlot.xlsx');
  3. % Create a meshgrid for plotting.
  4. [xq,yq] = meshgrid(0:.2:11.5, 0:.2:7.6);
  5. % Interpolate the points using griddata function.
  6. vq = griddata(t(:, 1), t(:, 2), t(:, 3),xq,yq);
  7. % Plot the surface.
Nov 23, 2022

Top Articles
Latest Posts
Recommended Articles
Article information

Author: Rob Wisoky

Last Updated:

Views: 5241

Rating: 4.8 / 5 (48 voted)

Reviews: 87% of readers found this page helpful

Author information

Name: Rob Wisoky

Birthday: 1994-09-30

Address: 5789 Michel Vista, West Domenic, OR 80464-9452

Phone: +97313824072371

Job: Education Orchestrator

Hobby: Lockpicking, Crocheting, Baton twirling, Video gaming, Jogging, Whittling, Model building

Introduction: My name is Rob Wisoky, I am a smiling, helpful, encouraging, zealous, energetic, faithful, fantastic person who loves writing and wants to share my knowledge and understanding with you.