generates a density plot of f over the slice surface surf as a function of x, y, and z.


restricts the surface to be within region reg.


generates density plots over several slices.

Details and Options

  • SliceDensityPlot3D plots a function defined over a 3D region by using surfaces to slice the region, and colors the slices according to the values of the function.
  • The following basic slice surfaces surfi can be given:
  • Automaticautomatically determine slice surfaces
    "CenterPlanes"coordinate planes through the center
    "BackPlanes"coordinate planes at the back of the plot
    "XStackedPlanes"coordinate planes stacked along axis
    "YStackedPlanes"coordinate planes stacked along axis
    "ZStackedPlanes"coordinate planes stacked along axis
    "DiagonalStackedPlanes"planes stacked diagonally
    "CenterSphere"a sphere in the center
    "CenterCutSphere"a sphere with a cutout wedge
    "CenterCutBox"a box with a cutout octant
  • SliceDensityPlot3D[f,{x,xmin,xmax},] is equivalent to SliceDensityPlot3D[f,Automatic,{x,xmin,xmax},] etc.
  • The following parametrizations can be used for basic slice surfaces:
  • {"XStackedPlanes",n},generate n equally spaced planes
    {"XStackedPlanes",{x1,x2,}}generate planes for x=xi
    {"CenterCutSphere",ϕopen}cut angle ϕopen facing the view point
    {"CenterCutSphere",ϕopen,ϕcenter}cut angle ϕopen with center angle ϕcenter in plane
  • "YStackedPlanes", "ZStackedPlanes" follow the specifications for "XStackedPlanes", with additional features shown in the scope examples.
  • The following general slice surfaces surfi can be used:
  • expr0implicit equation in x, y, and z, e.g. x y z-10
    surfaceregiona two-dimensional region in 3D, e.g. Hyperplane
    volumeregiona three-dimensional region in 3D where surfi is taken as the boundary surface, e.g. Cuboid
  • The following wrappers can be used for slice surfaces surfi:
  • Annotation[surf,label]provide an annotation
    Button[surf,action]define an action to execute when the surface is clicked
    EventHandler[surf,]define a general event handler for the surface
    Hyperlink[surf,uri]make the surface act as a hyperlink
    PopupWindow[surf,cont]attach a popup window to the surface
    StatusArea[surf,label]display in status area when the surface is moused over
    Tooltip[surf,label]attach an arbitrary tooltip to the surface
  • SliceDensityPlot3D has the same options as Graphics3D, with the following additions and changes:
  • AxesTruewhether to draw axes
    BoundaryStyleAutomatichow to style surface boundaries
    BoxRatios{1,1,1}bounding 3D box ratios
    ClippingStyleNonehow to draw values clipped by PlotRange
    ColorFunctionAutomatichow to color the plot
    ColorFunctionScalingTruewhether to scale the arguments to ColorFunction
    PerformanceGoal$PerformanceGoalaspects of performance to optimize
    PlotLegendsNonelegends for color gradients
    PlotPointsAutomaticinitial number of samples for the function f and slice surfaces surfi in each direction
    PlotRange{Full,Full,Full,Automatic}range of f or other values to include
    PlotTheme$PlotThemeoverall theme for the plot
    RegionFunction(True&)how to determine whether a point should be included
    TargetUnitsAutomaticdesired units to use
    WorkingPrecisionMachinePrecisionthe precision used in internal computations
  • ColorFunction is by default supplied with the scaled value of f.
  • RegionFunction is by default supplied with x, y, z and f.


open allclose all

Basic Examples  (2)

Plot the density of on coordinate planes through the center of the plot range:

Plot the density on the surface :

Scope  (19)

Surfaces  (9)

Generate a density plot over standard slice surfaces:

Standard axis-aligned stacked slice surfaces:

Standard boundary surfaces:

Plot the densities over any surface region:

Plotting over a volume primitive is equivalent to plotting over RegionBoundary[reg]:

Plot the densities over the surface :

Plot the densities over multiple surfaces:

Specify the number of stack planes:

Specify the cutting angle for a center-cut sphere slice:

Sampling  (3)

Areas where the function becomes nonreal are excluded:

Use RegionFunction to expose obscured slices:

The domain may be specified by a region including Cone:

A formula region including ImplicitRegion:

A mesh-based region including BoundaryMeshRegion:

Presentation  (7)

Use PlotTheme to immediately get overall styling:

Use PlotLegends to get a color bar for the different values:

Control the display of axes with Axes:

Label axes using AxesLabel and the whole plot using PlotLabel:

Color the plot by the function values with ColorFunction:

Style the slice surface boundaries with BoundaryStyle:

TargetUnits specifies which units to use in the visualization:

Options  (35)

Axes  (3)

Axes are drawn by default:

Use Axes->False to remove the axes:

Draw only some axes:

AxesLabel  (4)

No axes labels are drawn by default:

Label axes based on variables specified in SliceDensityPlot3D:

Label the axis:

Use specific labels for each axis:

BoundaryStyle  (1)

Style the slice surface boundaries:

BoxRatios  (3)

By default, the edges of the bounding box have the same length:

Use BoxRatios->Automatic to show the natural scale of the 3D coordinate values:

Use custom length ratios for each side of the bounding box:

ClippingStyle  (2)

Color clipped regions:

Remove clipped regions with None:

ColorFunction  (3)

Color the slice surfaces according to the density values :

Use a named color gradient available in ColorData:

Use red when :

ColorFunctionScaling  (2)

By default, scaled values are used:

Use ColorFunctionScaling->False to get access to unscaled f values:

PerformanceGoal  (2)

Generate a higher-quality plot:

Emphasize performance, possibly at the cost of quality:

PlotLegends  (3)

Show a legend for the densities:

PlotLegends automatically matches the color function:

Control placement of the legend with Placed:

PlotPoints  (1)

Use PlotPoints to determine sampling of slice surfaces:

PlotRange  (3)

Show All contours by default:

Show a select range:

Show only function values between 0 and 2:

Or with the fully qualified specification:

PlotTheme  (3)

Use a theme with detailed grid lines, ticks, and legends:

Any option setting overrides PlotTheme settings, in this case removing face grids:

Compare different plot themes:

RegionFunction  (2)

Include only the contours where or :

Include only the contours where :

TargetUnits  (2)

Axes and legends are labeled with the units specified by TargetUnits:

Units specified by Quantity are converted to those specified by TargetUnits:

WorkingPrecision  (1)

Evaluate functions using machine-precision arithmetic:

Applications  (16)

Elementary Functions  (4)

Plot the function :

Plot the functions and :

Plot the functions and :

Plot the functions and :

Plot the functions and :

Plot the functions and :

Plot , a product of univariate functions:

Plot and , univariate and bivariate functions:

Plot , a trivariate function:

Plot a sum of exponentials sum_ialpha_i exp(-TemplateBox[{{p, -, {p, _, i}}}, Norm]^2):

Pick the points randomly in a box:

Compare with other ways of visualizing:

Show them together:

Distribution Functions  (5)

Plot the PDF of a distribution:

Simulate the distribution and show point distribution:

Plot the CDF of a distribution:

The SurvivalFunction:

The HazardFunction:

Explore Correlation parameters for a MultinormalDistribution, where ρab is the correlation between a and b:

Correlation between x and y only:

Use planes given by the covariance matrix:

Visualize the PDF of a ProductDistribution:

A product of three different distributions:

Visualize the PDF of a kernel density estimate of some trivariate data, where density > 0.01:

Potential and Wave Functions  (4)

Plot the phase using color on the isosurface of a quadrupole potential:

Alternatively, show the 17<=TemplateBox[{f}, Abs]<=140 on several planes:

Plot spherical waves cos(omega TemplateBox[{{p, -, {p, _, i}}}, Norm]) from three sources in space:

Plot hydrogen orbital densities for quantum numbers , , :

Plot on a surface:

Plot :

An electrostatic potential built from a collection of point charges at positions :

Two charges and :

Plot iso charge surfaces:

Show them together:

Partial Differential Equations  (3)

Visualize a nonlinear sine-Gordon equation in two spatial dimensions with periodic boundary conditions, with time represented along the axis:

The solution evolves in time along the axis:

Visualize Wolfram's nonlinear wave equation in two spatial dimensions, with time represented along the axis:

Visualize solutions to 3D partial differential equations. In this case, a Poisson equation over a Ball and Dirichlet boundary conditions:

Properties & Relations  (5)

Use SliceContourPlot3D for contours on surfaces:

Use ContourPlot3D for constant value surfaces:

Use DensityPlot3D for full volume visualization of the function values:

Use ListSliceDensityPlot3D for data:

Use DensityPlot for density plots in 2D:

Possible Issues  (1)

Slice surfaces with a constant value may appear noisy:

The function is constant on the chosen slice surface:

Choosing a different slice surface gives a reasonable picture of the function:

Wolfram Research (2015), SliceDensityPlot3D, Wolfram Language function,


Wolfram Research (2015), SliceDensityPlot3D, Wolfram Language function,


@misc{reference.wolfram_2020_slicedensityplot3d, author="Wolfram Research", title="{SliceDensityPlot3D}", year="2015", howpublished="\url{}", note=[Accessed: 06-May-2021 ]}


@online{reference.wolfram_2020_slicedensityplot3d, organization={Wolfram Research}, title={SliceDensityPlot3D}, year={2015}, url={}, note=[Accessed: 06-May-2021 ]}


Wolfram Language. 2015. "SliceDensityPlot3D." Wolfram Language & System Documentation Center. Wolfram Research.


Wolfram Language. (2015). SliceDensityPlot3D. Wolfram Language & System Documentation Center. Retrieved from