SphericalPlot3D
SphericalPlot3D[r,θ,ϕ]
generates a 3D plot with a spherical radius r as a function of spherical coordinates θ and ϕ.
SphericalPlot3D[r,{θ,θmin,θmax},{ϕ,ϕmin,ϕmax}]
generates a 3D spherical plot over the specified ranges of spherical coordinates.
SphericalPlot3D[{r1,r2,…},{θ,θmin,θmax},{ϕ,ϕmin,ϕmax}]
generates a 3D spherical plot with multiple surfaces.
Details and Options
- The angles
and
are measured in radians.
corresponds to "latitude";
is 0 at the "north pole", and
at the "south pole".
corresponds to "longitude", varying from 0 to
counterclockwise looking from the north pole.- SphericalPlot3D[r,θ,ϕ] takes
to have range 0 to
, and
to have range 0 to
. - The
,
,
position corresponding to
,
,
is
,
,
. The variables
and
can have any values. The surfaces they define can overlap radially. - Holes are left at positions where the
etc. evaluate to None, or anything other than real numbers. - SphericalPlot3D treats the variables
and
as local, effectively using Block. - SphericalPlot3D has attribute HoldAll, and evaluates the
only after assigning specific numerical values to variables. - In some cases it may be more efficient to use Evaluate to evaluate the
symbolically before specific numerical values are assigned to variables. - SphericalPlot3D 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 ColorFunction Automatic how to determine the color of curves and surfaces ColorFunctionScaling True whether to scale arguments to ColorFunction EvaluationMonitor None expression to evaluate at every function evaluation Exclusions Automatic
,
curves to excludeExclusionsStyle None what to draw at excluded points or curves MaxRecursion Automatic the maximum number of recursive subdivisions allowed Mesh Automatic how many mesh divisions in each direction to draw MeshFunctions {#4&,#5&} how to determine the placement of mesh divisions MeshShading None how to shade regions between mesh divisions MeshStyle Automatic the style for mesh divisions 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 PlotLegends None legends for surfaces PlotPoints Automatic the initial number of sample points in each parameter PlotStyle Automatic graphics directives for the style for each object PlotTheme $PlotTheme overall theme for the plot 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 - Interactive labeling can be specified for curves or surfaces using Tooltip, StatusArea, or Annotation.
- SphericalPlot3D[Tooltip[{r1, r2,…}],…] specifies that the
should be displayed as tooltip labels for the corresponding surfaces. - Tooltip[r,label] specifies an explicit tooltip label for a surface.
- SphericalPlot3D initially evaluates each function at a number of equally spaced sample points specified by PlotPoints. Then it uses an adaptive algorithm to choose additional sample points, subdividing in each parameter at most MaxRecursion times.
- You should realize that with the finite number of sample points used, it is possible for SphericalPlot3D to miss features in your functions. To check your results, you should try increasing the settings for PlotPoints and MaxRecursion.
- On[SphericalPlot3D::accbend] makes SphericalPlot3D print a message if it is unable to reach a certain smoothness of curve.
- 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 functions are evaluated all over each surface.
- By default, surfaces are treated as uniform white diffuse reflectors, corresponding to ColorFunction->(White&).
- SphericalPlot3D returns Graphics3D[GraphicsComplex[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
Examples
open allclose allSee Also
RevolutionPlot3D ParametricPlot3D PolarPlot Sphere RotationMatrix
Tutorials
Related Guides
Related Links
Introduced in 2007
(6.0)
| Updated in 2016 (11.0)