ListPlot3D
ListPlot3D[array]
generates a three-dimensional plot of a surface representing an array of height values.
ListPlot3D[{{x1,y1,z1},{x2,y2,z2},…}]
generates a plot of the surface with heights zi at positions {xi,yi}.
ListPlot3D[{data1,data2,…}]
plots the surfaces corresponding to each of the datai.
Details and Options
- ListPlot3D has the same options as Graphics3D, with the following additions and changes:
-
Axes True whether to draw axes BoundaryStyle Automatic how to draw boundary lines for surfaces BoxRatios {1,1,0.4} bounding 3D box ratios ClippingStyle Automatic how to draw clipped parts of the surface ColorFunction Automatic how to determine the color of surfaces ColorFunctionScaling True whether to scale arguments to ColorFunction DataRange Automatic the range of
and
values to assume for data Filling None filling under the surface FillingStyle Opacity[0.5] style to use for filling InterpolationOrder None the polynomial degree in each variable of surfaces used in joining data points MaxPlotPoints Automatic the maximum number of points to include Mesh Automatic how many mesh lines in each direction to draw MeshFunctions {#1&,#2&} how to determine the placement of mesh lines MeshShading None how to shade regions between mesh lines MeshStyle Automatic the style for mesh lines Method Automatic the method to use for interpolation and data reduction NormalsFunction Automatic how to determine effective surface normals PerformanceGoal $PerformanceGoal aspects of performance to try to optimize PlotLegends None legends for surfaces PlotRange {Full,Full,Automatic} the range of
or other values to include PlotRangePadding Automatic how much to pad the range of values PlotStyle Automatic graphics directives to specify the style for the surface PlotTheme $PlotTheme overall theme for the plot RegionFunction (True&) how to determine whether a point should be included ScalingFunctions None how to scale individual coordinates TextureCoordinateFunction Automatic how to determine texture coordinates TextureCoordinateScaling True whether to scale arguments to TextureCoordinateFunction VertexColors Automatic colors to assume at each point VertexNormals Automatic effective normals to assume at each point - In ListPlot3D[array], array must be a rectangular array. Each element can be either a single real number representing a
value, or an
triple. - There will be holes in the surface corresponding to array elements that do not represent explicit height values.
- ListPlot3D[array] by default takes the
and
coordinate values for each data point to be successive integers starting at 1. - The elements of array can also be triples {x11,y11,z11}, specifying heights zij at explicit positions {xij,yij}. The connectivity of the surface in this case is still taken to follow the 2D array.
- In the default case with no explicit
and
given, the setting DataRange->{{xmin,xmax},{ymin,ymax}} specifies the ranges of coordinate values to use. - With the default setting DataRange->Automatic, ListPlot3D[{{a11,a12,a13},…,{an1,an2,an3}}] will assume that the data being given is {{x1,y1,z1},…}, rather than an
×3 array of height values. - ListPlot3D[list,DataRange->All] always takes list to represent an array of height values.
- Possible settings for ScalingFunctions include:
-
sz scale the z axis {sx,sy} scale x and y axes {sx,sy,sz} scale x, y and z axes - Each scaling function si is either a string "scale" or {g,g-1}, where g-1 is the inverse of g.
- For ListPlot3D[array], Mesh->Full draws a mesh that crosses at the position of each data point.
- array can be a SparseArray object.
- The arguments supplied to functions in MeshFunctions and RegionFunction are
,
, and
. Functions in ColorFunction and TextureCoordinateFunction are by default supplied with scaled versions of these arguments. - The setting for VertexColors must be an array or list with the same structure as the coordinate data.
- An explicit setting for VertexColors overrides colors determined from ColorFunction.
- ListPlot3D returns Graphics3D[data].
- Themes that affect 3D surfaces include:
-

"DarkMesh" dark mesh lines 
"GrayMesh" gray mesh lines 
"LightMesh" light mesh lines 
"ZMesh" vertical mesh lines 
"ThickSurface" add thickness to surfaces 
"FilledSurface" add filling below surfaces
Examples
open allclose allBasic Examples (3)
Scope (18)
Options (105)
Applications (5)
Properties & Relations (14)
Possible Issues (2)
Neat Examples (2)
See Also
ListPointPlot3D ListSurfacePlot3D Plot3D ListDensityPlot ListContourPlot ListContourPlot3D ListSliceContourPlot3D ListSliceDensityPlot3D ListLinePlot ReliefPlot ArrayPlot
Tutorials
Related Guides
Related Links
Introduced in 1988
(1.0)
| Updated in 2017 (11.1)