3D Mesh Plots in MATLAB®
How to make 3D Mesh Plots plots in MATLAB® with Plotly.
Plotly Studio: Transform any dataset into an interactive data application in minutes with AI. Sign up for early access now.
Create Mesh Plot
Create three matrices of the same size. Then plot them as a mesh plot. The plot uses Z
for both height and color.
[X,Y] = meshgrid(-8:.5:8);
R = sqrt(X.^2 + Y.^2) + eps;
Z = sin(R)./R;
mesh(X,Y,Z);
fig2plotly(gcf, 'TreatAs', 'mesh');
Specify Colormap Colors for Mesh Plot
Specify the colors for a mesh plot by including a fourth matrix input, C
. The mesh plot uses Z
for height and C
for color. Specify the colors using a colormap, which uses single numbers to stand for colors on a spectrum. When you use a colormap, C
is the same size as Z
. Add a color bar to the graph to show how the data values in C
correspond to the colors in the colormap.
[X,Y] = meshgrid(-8:.5:8);
R = sqrt(X.^2 + Y.^2) + eps;
Z = sin(R)./R;
C = X.*Y;
mesh(X,Y,Z,C);
colorbar;
fig2plotly(gcf, 'TreatAs', 'mesh');
Specify True Colors for Mesh Plot
Specify the colors for a mesh plot by including a fourth matrix input, CO
. The mesh plot uses Z
for height and CO
for color. Specify the colors using truecolor, which uses triplets of numbers to stand for all possible colors. When you use truecolor, if Z
is m
-by-n
, then CO
is m
-by-n
-by-3. The first page of the array indicates the red component for each color, the second page indicates the green component, and the third page indicates the blue component.
[X,Y,Z] = peaks(25);
CO(:,:,1) = zeros(25); % red
CO(:,:,2) = ones(25).*linspace(0.5,0.6,25); % green
CO(:,:,3) = ones(25).*linspace(0,1,25); % blue
mesh(X,Y,Z,CO);
fig2plotly(gcf, 'TreatAs', 'mesh');
Modify Mesh Plot Appearance
Create a semitransparent mesh surface by specifying the FaceAlpha
name-value pair with 0.5
as the value. To allow further modifications, assign the surface object to the variable s
.
[X,Y] = meshgrid(-5:.5:5);
Z = Y.*sin(X) - X.*cos(Y);
s = mesh(X,Y,Z,'FaceAlpha','0.5')
fig2plotly(gcf, 'TreatAs', 'mesh');
s = all properties
Use s
to access and modify properties of the mesh plot after it is created. For example, add color to the face of the mesh plot by setting the FaceColor
property.
[X,Y] = meshgrid(-5:.5:5);
Z = Y.*sin(X) - X.*cos(Y);
s = mesh(X,Y,Z,'FaceAlpha','0.5')
s.FaceColor = 'flat';
fig2plotly(gcf, 'TreatAs', 'mesh');
s = all properties