MATLAB surf in MATLAB®
Learn how to make 4 surf charts in MATLAB, then publish them to the Web with Plotly.
Create Surface Plot
Create three matrices of the same size. Then plot them as a surface. The surface plot uses Z for both height and color.
[X,Y] = meshgrid(1:0.5:10,1:20);
Z = sin(X) + cos(Y);
surf(X,Y,Z)
fig2plotly('TreatAs', 'surf')
Specify Colormap Colors for Surface Plot
Specify the colors for a surface plot by including a fourth matrix input, C. The surface 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(1:0.5:10,1:20);
Z = sin(X) + cos(Y);
C = X.*Y;
surf(X,Y,Z,C)
colorbar
fig2plotly('TreatAs', 'surf')
Specify True Colors for Surface Plot
Specify the colors for a surface plot by including a fourth matrix input, CO. The surface 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
surf(X,Y,Z,CO)
fig2plotly('TreatAs', 'surf')
Modify Surface Plot Appearance
Create a semitransparent 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 = surf(X,Y,Z,'FaceAlpha',0.5)
s =
Surface with properties:
EdgeColor: [0 0 0]
LineStyle: '-'
FaceColor: 'flat'
FaceLighting: 'flat'
FaceAlpha: 0.5000
XData: [21x21 double]
YData: [21x21 double]
ZData: [21x21 double]
CData: [21x21 double]
Show all properties
s.EdgeColor = 'none';
fig2plotly('TreatAs', 'surf')

