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


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


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

Details and Options


open allclose all

Basic Examples  (2)

Plot the contours of an array of values over a set of surfaces:

Plot the contours over the surface :

Scope  (28)

Surfaces  (9)

Generate a contour plot over standard slice surfaces:

Standard axis-aligned stacked slice surfaces:

Standard boundary surfaces:

Plot the contours over any surface region:

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

Plot the contours over the surface :

Plot the contours over multiple surfaces:

Specify the number of stacked 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 contours from irregular data consisting of (, , , ) tuples:

Show the points where the data values are provided:

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

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

Use Contours to specify the number of contours:

Or the list of function values to put contours:

Use PlotPoints to control sampling of surfaces:

Areas where the function becomes nonreal are excluded:

Use RegionFunction to expose obscured slices:

Presentation  (11)

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 data values with ColorFunction:

Style regions between contours with ContourShading:

Use ContourStyle to style the contour lines:

Style the slice surface boundaries with BoundaryStyle:

TargetUnits specifies which units to use in the visualization:

Create a plot with a log-scaled axis:

Reverse the coordinate direction in the direction:

Options  (40)

BoundaryStyle  (1)

Style the slice surface boundaries with BoundaryStyle:

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 contours according to the values:

Use a named color gradient from ColorData:

Use red when :

ColorFunctionScaling  (2)

By default, scaled values are used:

Use ColorFunctionScaling->False to get unscaled values:

Contours  (4)

Use automatic contour selection:

Use 5 equally spaced contours:

Specify an explicit set of contours:

Use specific contours with specific styles:

ContourStyle  (1)

Style the contour lines yellow:

ContourShading  (4)

ContourShadingAutomatic computes contour region shading from the ColorFunction:

Cyclically repeat shading styles:

Leave every third contour region empty, starting from the second:

Leave the regions between contours blank:

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  (1)

PlotLegends automatically picks up Contours and ContourShading:

PlotPoints  (1)

Use more plot points for finer surface discretization and more detailed data interpolation:

PlotRange  (3)

Show All contours 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:

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

Compare different plot themes:

RegionFunction  (1)

Include only the contours where or :

ScalingFunctions  (6)

By default, plots have linear scales in all directions:

Create a plot with a log-scaled axis:

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:

Slice surfaces that are defined relative to the bounding box are unaffected by scaling functions:

TargetUnits  (1)

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

Applications  (10)

Basic Data  (4)

Plot contour slices of data generated by :

Contours of the data generated from and :

Data generated from and :

Data generated from and :

Data from and :

Data from and :

Data from , a product of univariate functions:

Data from and , univariate and bivariate functions:

Plot contour slices of the function , a trivariate function:

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

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

Simulation Data  (4)

Plot contour slices of a probability density function of three variables:

Sample and plot the function:

Simulate the distribution, compute the bin counts, and plot contour slices:

Plot contour slices of the evolution of two-dimensional cellular automata:

Sample every tenth generation, with time evolving in the direction:

Or look at how the cells along a center line evolve over time:

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 contour slices:

Time evolves along the axis, with snapshots at times 1, 5, and 15:

Empirical Data  (2)

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

Show the concentration of atoms with the axes in picometers:

Visualize MRI data from a brain:

Properties & Relations  (5)

Use ListSliceDensityPlot3D for continuous densities on surfaces:

Use ListContourPlot3D for constant value surfaces:

Use ListDensityPlot3D for full volume visualization of the data values:

Use SliceContourPlot3D for functions:

Use ListContourPlot for contour plots in 2D:

Possible Issues  (1)

Slice surfaces with a constant value 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), ListSliceContourPlot3D, Wolfram Language function, (updated 2022).


Wolfram Research (2015), ListSliceContourPlot3D, Wolfram Language function, (updated 2022).


Wolfram Language. 2015. "ListSliceContourPlot3D." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2022.


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


@misc{reference.wolfram_2024_listslicecontourplot3d, author="Wolfram Research", title="{ListSliceContourPlot3D}", year="2022", howpublished="\url{}", note=[Accessed: 23-July-2024 ]}


@online{reference.wolfram_2024_listslicecontourplot3d, organization={Wolfram Research}, title={ListSliceContourPlot3D}, year={2022}, url={}, note=[Accessed: 23-July-2024 ]}