This is documentation for Mathematica 8, which was
based on an earlier version of the Wolfram Language.

# Plot3D

 Plot3Dgenerates a three-dimensional plot of f as a function of x and y. Plot3Dplots several functions.
• Holes are left at any positions where the evaluate to None, or anything other than real numbers.
• Plot3D treats the variables x and y as local, effectively using Block.
• Plot3D has attribute HoldAll, and evaluates f only after assigning specific numerical values to x and y.
• In some cases it may be more efficient to use Evaluate to evaluate f symbolically before specific numerical values are assigned to x and y.
• Plot3D 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 surfaces ColorFunction Automatic how to determine the color of surfaces ColorFunctionScaling True whether to scale arguments to ColorFunction EvaluationMonitor None expression to evaluate at every function evaluation Exclusions Automatic x, y curves to exclude ExclusionsStyle None what to draw at excluded curves Filling None filling under each surface FillingStyle Opacity[0.5] style to use for filling MaxRecursion Automatic the maximum number of recursive subdivisions allowed 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 refining surfaces NormalsFunction Automatic how to determine effective surface normals PerformanceGoal \$PerformanceGoal aspects of performance to try to optimize PlotPoints Automatic the initial number of sample points in each direction PlotRange {Full,Full,Automatic} the range of z or other values to include PlotStyle Automatic graphics directives for the style for each surface RegionFunction (True&) how to determine whether a point should be included TextureCoordinateFunction Automatic how to determine texture coordinates TextureCoordinateScaling True whether to scale arguments to TextureCoordinateFunction WorkingPrecision MachinePrecision the precision used in internal computations
• Plot3D[Tooltip[{f1, f2, ...}], ...] specifies that the should be displayed as tooltip labels for the corresponding surfaces.
• Tooltip specifies an explicit tooltip label for a surface.
• PlotStyle->None draws no surface, so effectively does not eliminate hidden surfaces.
• Plot3D initially evaluates each function at a grid of equally spaced sample points specified by PlotPoints. Then it uses an adaptive algorithm to choose additional sample points, subdividing at most MaxRecursion times.
• You should realize that with the finite number of sample points used, it is possible for Plot3D to miss features in your functions. To check your results, you should try increasing the settings for PlotPoints and MaxRecursion.
• With the setting Mesh->All, Plot3D draws mesh lines to show all subdivisions it makes.
• The default setting MeshFunctions draws an x, y mesh on each surface.
• By default, surfaces are treated as uniform white diffuse reflectors, corresponding to ColorFunction->(White&).
Plot a function:
Plot several functions:
Restrict the domain:
Plot functions with branch cuts:
Plot a function:
 Out[1]=

Plot several functions:
 Out[1]=

Restrict the domain:
 Out[1]=

Plot functions with branch cuts:
 Out[1]=
 Scope   (15)
More points are sampled where the function changes quickly:
The plot range is selected automatically:
Areas where the function becomes nonreal are excluded:
The surface is split when there are discontinuities in the function:
Use PlotPoints and MaxRecursion to control adaptive sampling:
Use PlotRange to focus in on areas of interest:
Use Exclusions to remove curves or split the resulting surface:
Use RegionFunction to restrict the surface to a region given by inequalities:
Provide an explicit PlotStyle for the surface:
Provide separate styles for different surfaces:
Color the surface by height:
Style the areas between mesh lines:
Provide an interactive Tooltip for a surface:
Fill below a surface:
 Options   (84)
Use labels based on variables specified in Plot3D:
Use colored backgrounds:
Use a black boundary around the edges of the surface:
Use a thick boundary around the edges of the surface:
Use a thick red boundary around the edges of the surface:
Do not use any boundary:
BoundaryStyle applies to holes cut by RegionFunction:
BoundaryStyle does not apply to holes cut by Exclusions:
Automatic uses the natural scale from PlotRange:
Use BoxRatios to emphasize some particular feature, in this case a saddle surface:
Color clipped regions like the rest of the surface:
Do not draw clipped regions:
Make clipped regions partially transparent:
Color clipped regions red at the bottom and blue at the top:
Color according to the and coordinates:
Color by scaled coordinate:
Use ColorData for predefined color gradients:
Named color gradients color in the direction:
ColorFunction has higher priority than PlotStyle:
ColorFunction has lower priority than MeshShading:
Use unscaled coordinates:
Use scaled coordinates in the direction and unscaled coordinates in the and directions:
Show where Plot3D samples a function:
Count how many times is evaluated:
This uses automatic methods to compute exclusions, in this case from branch cuts:
Indicate that no exclusions should be computed:
Give a set of exclusions as an equation:
Give two sets of exclusions:
Use a condition with the exclusion equation:
Use both automatically computed and explicit exclusions:
Style the boundary with a thick blue line:
Style the boundary with a thick blue line and the surface in between transparent:
Use a transparent surface in the exclusion cuts:
Fill to the bottom:
Filling occurs along the region cut by the RegionFunction:
Fill to both top and bottom:
Fill surface 1 to the bottom with blue and surface 2 to the top with red:
Fill to the bottom with a variety of styles:
Fill to the plane with red below and blue above:
Fill to the plane from below only:
Refine the surface where it changes quickly:
Use no mesh:
Show the initial and final sampling meshes:
Use 5 mesh lines in each direction:
Use 3 mesh lines in the direction and 6 mesh lines in the direction:
Use mesh lines at specific values:
Use different styles for different mesh lines:
Use the value as the mesh function:
Use mesh lines in the and directions:
Use mesh lines corresponding to fixed distances from the origin:
Use None to remove regions:
Lay a checkerboard pattern over a surface:
MeshShading has a higher priority than PlotStyle:
MeshShading has a higher priority than ColorFunction:
Use red mesh lines:
Use red mesh lines in the direction and thick mesh lines in the direction:
Normals are automatically calculated:
Use None to get flat shading for all the polygons:
Vary the effective normals used on the surface:
Generate a higher-quality plot:
Emphasize performance, possibly at the cost of quality:
Use more initial points to get a smoother surface:
Use 20 initial points in the direction and 5 in the direction:
Automatically compute the range:
Use all points to compute the range:
Show the surface over the full , range:
Automatically compute the , range:
Use an explicit range to emphasize features:
Color a surface with diffuse orange:
Use Specularity to get highlights:
Use Opacity to get transparent surfaces:
Use separate styles for each of the surfaces:
Produce a wire mesh:
Plot over an annulus region in and :
Filling will fill from the region boundary:
Regions do not have to be connected:
Use any logical combination of conditions:
Textures use scaled and coordinates by default:
Use the and parameters:
Use unscaled coordinates:
Use textures to highlight how parameters map onto a surface:
Use scaled or unscaled coordinates for textures:
Evaluate functions using machine-precision arithmetic:
Evaluate functions using arbitrary-precision arithmetic:
 Applications   (8)
This shows the solution to the heat equation in 1 dimension:
Plot a saddle surface; the mesh curves show where the function is zero:
Use a cutout to understand limit behavior:
There are different limits when approaching along different lines:
Make the surface transparent to see its inner structure:
The , , and norms, with the unit norm mesh line:
Show the real and imaginary parts of :
Show the different complex components for a function:
Plot an iterated logistic map as a function of parameter and initial value:
Plot3D samples more points where it needs to:
Plot3D is a special case of ParametricPlot3D:
Use ListPlot3D for plotting data:
Use Plot for univariate functions:
Use ParametricPlot for plane parametric curves and regions:
Use ContourPlot3D and RegionPlot3D for implicit surfaces and regions:
Use DensityPlot and ContourPlot for densities and contours:
The branch cuts of inverse trigonometric functions:
Real and imaginary parts as mesh functions: