# ListSliceDensityPlot3D ListSliceDensityPlot3D[farr,surf]

generates a density plot of the three-dimensional farr of values sliced to the surface surf.

ListSliceDensityPlot3D[{{x1,y1,z1,f1},{x2,y2,z2,f2},},surf]

generates a slice density plot for the values fi at points {xi,yi,zi}.

ListSliceDensityPlot3D[,{surf1,surf2,}]

generates slice density plots over several slices surf1, surf2, .

# Details and Options    • ListSliceDensityPlot3D evaluates the interpolated function and maps the value to a color.
• For regular data, the function has value farr[[i,j,k]] at .
• For irregular data, has value fi at .
• The plot visualizes the set where is a color function and the region reg is the Cartesian product for regular data and the convex hull of {{x1,y1,z1},,{xn,yn,zn}} for irregular data.
• • The following basic slice surfaces surfi can be given:
•  Automatic automatically 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
• ListSliceDensityPlot3D[data] is equivalent to .
• 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:
•  surfaceregion a two-dimensional region in 3D, e.g. Hyperplane volumeregion a 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
• ListSliceDensityPlot3D has the same options as Graphics3D, with the following additions and changes:
•  Axes True whether to draw axes BoundaryStyle Automatic how to style surface boundaries BoxRatios {1,1,1} bounding 3D box ratios ClippingStyle None how to draw values clipped by PlotRange ColorFunction Automatic how to color the plot ColorFunctionScaling True whether to scale the arguments to ColorFunction DataRange Automatic the range of x, y, and z values to assume for data PerformanceGoal \$PerformanceGoal aspects of performance to optimize PlotLegends None legends for color gradients PlotPoints Automatic approximate number of samples for the slice surfaces surfi in each direction PlotRange {Full,Full,Full,Automatic} range of f or other values to include 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 TargetUnits Automatic desired units to use
• ColorFunction is by default supplied with the scaled value of f.
• RegionFunction is by default supplied with x, y, z, and f.
• For a farr of dimension {r,s,t}, the setting is equivalent to DataRange{{1,r},{1,s},{1,t}}.
• Possible settings for ScalingFunctions include:
•  sf scale the fdensity values {sx,sy,sz} scale x, y and z axes {sx,sy,sz,sf} scale x, y and z axes and fdensity values
• Common built-in scaling functions s include:
•  "Log" log scale with automatic tick labeling "Log10" base-10 log scale with powers of 10 for ticks "SignedLog" log-like scale that includes 0 and negative numbers "Reverse" reverse the coordinate direction

# Examples

open allclose all

## Basic Examples(2)

Plot the density for an array of values over a set of surfaces:

Plot the density for an array of values on the surface :

## Scope(24)

### Surfaces(9)

Generate a density plot over standard slice surfaces:

Standard axis-aligned stacked slice surfaces:

Standard boundary surfaces:

Plot the densities over a half plane:

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:

### Data(8)

For regular data consisting of values, the , , and data reflects its positions in the array:

Provide explicit , , and data ranges by using DataRange:

Plot interpolated densities from irregular data consisting of ( , , , ) tuples:

Show the points where the data values are provided:

Plot the density for an array of values given by SparseArray:

Plot the density for an array of values given by QuantityArray:

Use PlotPoints to control adaptive sampling of slice surfaces:

Use RegionFunction to expose obscured slices:

Scale the x axis in a plot:

Reverse the direction of the z axis:

### 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(33)

### BoundaryStyle(1)

Style the slice surface boundaries:

### BoxRatios(3)

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

Use 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 values:

Use a named color gradient available in ColorData:

Use red when :

### ColorFunctionScaling(2)

By default, scaled values are used:

### DataRange(2)

By default, the data range is taken to be the dimension of the array:

Explicitly specify the data range:

### 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 densities by default:

Show a select range:

Show a select range including the values:

### PlotTheme(3)

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

Override PlotTheme styles by explicitly setting options:

Compare different plot themes:

### RegionFunction(2)

Include only the densities where or :

Include only the contours where :

### ScalingFunctions(5)

By default, plots have linear scales in all directions:

Create a plot with a log-scaled axis:

Use ScalingFunctions to scale to reverse the coordinate direction in the direction:

Use a scale defined by a function and its inverse:

Scaling functions are applied to slices that are defined in terms of the variables:

Named slice surfaces are not distorted by scaling functions:

### TargetUnits(1)

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

## Applications(9)

### Basic Data(4)

Plot density slices of data generated by :

Densities of the data generated from and on a sphere:

Data generated from and :

Data generated from and :

Data from and :

Data from and :

Data from , product of univariate functions:

Data from and , univariate and bivariate functions:

Plot density slices of the function , a trivariate function:

Plot contour slices of a sum of exponentials :

Pick the points randomly in a box and plot contour slices from them:

Compare with other ways of visualizing:

Show them together:

### Simulation Data(3)

Plot slices of a probability density function of three variables:

Sample and plot the function:

Simulate the distribution and generate points:

Aggregate simulation data using histogramming:

Generate a Menger sponge array and plot contour slices from it:

Simulate a discrete diffusion model of a two-dimensional array of random values by averaging values of a radius-1 neighborhood in the array and plot density slices:

Time evolves along the axis, with snapshots at times 1, 3, and 7:

### Empirical Data(2)

Bin the position of atoms in a protein and plot density slices from it:

Show the concentration of atoms with the axes in picometers:

Visualize MRI data from a brain:

## Properties & Relations(5)

Use ListSliceContourPlot3D for contours on surfaces:

Use ListDensityPlot3D for full volume visualization of the data values:

Use ListContourPlot3D for constant value surfaces:

Use SliceDensityPlot3D for functions:

Use ListDensityPlot 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: