surf

surface plot.

📝 Syntax

  • surf(X, Y, Z)

  • surf(X, Y, Z, C)

  • surf(Z)

  • surf(Z, C)

  • surf(parent, ...)

  • surf(..., propertyName, propertyValue)

  • go = surf(...)

📥 Input argument

  • X - x-coordinates: vector or matrix.

  • Y - y-coordinates: vector or matrix.

  • Z - z-coordinates: vector or matrix.

  • C - Color array: m-by-n-by-3 array of RGB triplets.

  • parent - a scalar graphics object value: parent container, specified as a axes.

  • propertyName - a scalar string or row vector character.

  • propertyValue - a value.

📤 Output argument

  • go - a graphics object: surface type.

📄 Description

Set this property on an existing component has no effect.

surf creates a 3D surface plot. It can be used to plot data in the form of a matrix or a function of two variables.

You can customize the appearance of the plot using various options such as color, lighting, and shading.

For example, you can use the colormap option to change the color of the surface, and the FaceLighting option to change the lighting of the surface.

Properties:

Property
Description

AlphaData

Transparency data: array same size as ZData or 1 (default).

AlphaDataMapping

Interpretation of AlphaData values: 'direct', 'none' or 'scaled' (default).

AmbientStrength

Strength of ambient light: scalar in [0, 1].

BackFaceLighting

Face lighting when normals point away from camera: 'unlit', 'lit' or 'reverselit' (default).

CData

Vertex colors: 2-D or 3-D array.

CDataMapping

Color mapping method: 'direct', 'scaled' (default).

CDataMode

Selection mode for CData: 'manual', 'auto' (default).

Children

currently not used: []

DiffuseStrength

Strength of diffuse light: scalar in range [0, 1].

EdgeAlpha

Edge transparency: scalar value in range [0, 1].

EdgeColor

Edge line color: RGB triplets.

EdgeLighting

Effect of light objects on edges: 'flat', 'gouraud' or 'none' (default).

FaceAlpha

Face transparency: scalar in range [0, 1].

FaceColor

Face color: RGB triplet.

FaceLighting

Effect of light objects on faces: 'gouraud', 'none' or 'flat' (default).

LineStyle

Line style: '--', ':', '-.', 'none' or '-' (default).

LineWidth

Line width: positive value, 0.5 (default).

Marker

Marker symbol: 'o' (circle), '+' (Plus sign), '*' (asterisk), '.' (point), 'x' (cross), '_' (horizontal line), '

MarkerEdgeColor

Marker outline color: RGB triplet.

MarkerFaceColor

Marker fill color: RGB triplet.

MarkerSize

Marker size: scalar positive value.

MeshStyle

Edges to display: 'row', 'column' or 'both' (default).

Parent

Parent: axes object.

SpecularColorReflectance

Color of specular reflections: scalar in range [0, 1].

SpecularExponent

Size of specular spot: scalar greater than or equal to 1.

SpecularStrength

Strength of specular reflection: scalar in range [0, 1].

Tag

Object identifier: character vector, string scalar or '' (default).

Type

Type of graphics object: 'surface'.

UserData

User data: array or [] (default).

VertexNormals

Normal vectors for each surface vertex: m-by-n-by-3 array or [] (default).

Visible

State of visibility: 'off' or 'on' (default).

XData

x-coordinate data: vector or matrix.

XDataMode

Selection mode for XData: 'manual' or 'auto'.

YData

y-coordinate data: vector or matrix.

YDataMode

Selection mode for YData: 'manual' or 'auto'.

ZData

z-coordinate data: vector or matrix.

CreateFcn

Callback (function handle, string or cell) called when object is created. Set this property on an existing component has no effect.

DeleteFcn

Callback (function handle, string or cell) called when object is deleted.

BeingDeleted

Flag indicating that the object is being deleted.

Some properties are available only for compatibility and have currently no effect on the surface.

💡 Examples


f = figure();
[X, Y, Z] = peaks(35);
C(:, :, 1) = zeros(35);
C(:, :, 2) = ones(35) .* linspace(0.5, 0.6, 35);
C(:, :, 3) = ones(35) .* linspace(0, 1, 35);
S = surf(X, Y, Z, C)


f = figure();
[X,Y] = meshgrid(-8:.5:8);
R = sqrt(X.^2 + Y.^2) + eps;
Z = sin(R)./R;
h = surf(X, Y, Z);
axis square

🔗 See also

view, surface, meshgrid.

🕔 History

Version
📄 Description

1.0.0

initial version

1.7.0

CreateFcn, DeleteFcn callback added.

--

BeingDeleted property added.

Last updated

Was this helpful?