This is documentation for Mathematica 6, which was
based on an earlier version of the Wolfram Language.
View current documentation (Version 11.2)


SphericalPlot3D[r, {, min, max}, {, min, max}]
generates a 3D plot with a spherical radius r as a function of spherical coordinates theta and phi.
SphericalPlot3D[{r1, r2, ...}, {, min, max}, {, min, max}]
generates a 3D spherical plot with multiple surfaces.
  • The angles theta and phi are measured in radians.
  • pi/2-theta corresponds to "latitude"; theta is 0 at the "north pole", and pi at the "south pole".
  • phi corresponds to "longitude", varying from 0 to 2 pi counterclockwise looking from the north pole.
  • The x, y, z position corresponding to r, theta, phi is r sin(theta) cos(phi), r sin(theta) sin(phi), r cos(theta). The variables theta and phi can have any values. The surfaces they define can overlap radially.
  • Holes are left at positions where the r_i etc. evaluate to None, or anything other than real numbers.
  • SphericalPlot3D has attribute HoldAll, and evaluates the r_i only after assigning specific numerical values to variables.
  • In some cases it may be more efficient to use Evaluate to evaluate the r_i symbolically before specific numerical values are assigned to variables.
AxesTruewhether to draw axes
BoundaryStyleAutomatichow to draw boundary lines for surfaces
ColorFunctionAutomatichow to determine the color of curves and surfaces
ColorFunctionScalingTruewhether to scale arguments to ColorFunction
EvaluationMonitorNoneexpression to evaluate at every function evaluation
ExclusionsAutomatictheta, phi curves to exclude
ExclusionsStyleNonewhat to draw at excluded points or curves
MaxRecursionAutomaticthe maximum number of recursive subdivisions allowed
MeshAutomatichow many mesh divisions in each direction to draw
MeshFunctions{#4&,#5&}how to determine the placement of mesh divisions
MeshShadingNonehow to shade regions between mesh divisions
MeshStyleAutomaticthe style for mesh divisions
MethodAutomaticthe method to use for refining surfaces
NormalsFunctionAutomatichow to determine effective surface normals
PerformanceGoal$PerformanceGoalaspects of performance to try to optimize
PlotPointsAutomaticthe initial number of sample points in each parameter
PlotStyleAutomaticgraphics directives for the style for each object
RegionFunction(True&)how to determine whether a point should be included
WorkingPrecisionMachinePrecisionthe precision used in internal computations
  • SphericalPlot3D[Tooltip[{r1, r2, ...}], ...] specifies that the r_i 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 functions are evaluated all over each surface.
  • By default, surfaces are treated as uniform white diffuse reflectors, corresponding to ColorFunction->(White&).
New in 6