plots a 3D smooth kernel histogram of the values {xi,yi}.


plots a 3D smooth kernel histogram with estimator specification espec.


plots the distribution function dfun.


plots smooth kernel histograms for multiple datasets datai.

Details and Options


open allclose all

Basic Examples  (3)

Plot a smooth density function for a dataset:

Plot several datasets:

Plot the probability density function of the data:

Cumulative distribution function:

Survival function:

Hazard function:

Cumulative hazard function:

Scope  (23)

Data and Wrappers  (8)

Plot different distribution functions:

PlotRange is selected automatically:

Use PlotRange to focus on areas of interest:

Non-real data points are ignored:

Specify the number of points to use:

Specify the number of times to refine the surface:

Use wrappers on datasets:

Use the default tooltip for the data:

Override the default tooltips:

Bandwidth and Kernel  (9)

Specify a single bandwidth for bivariate data:

Specify bivariate bandwidths in units of standard deviation:

Allow bivariate bandwidths to vary adaptively with local density:

Use the local sensitivity from 0.25 (small) to 0.75 (large):

Vary the initial bandwidth for an adaptive estimate:

Use initial bandwidths of 1. and 0.25:

Use any of several automatic bandwidth selection methods:

Silverman's method is used by default for bandwidth selection:

The PDFs are equivalent:

Use different bandwidth specifications in each dimension:

Specify any one of several kernel functions:

Define the kernel function as a pure function:

Presentation  (6)

Provide an explicit PlotStyle for the surface:

Use neutral lighting:

Provide separate styles for different surfaces:

Add labels:

Color the surface by height:

Style the areas between mesh lines:

Create an overlay mesh:

Options  (58)

BoundaryStyle  (4)

Use a black boundary around the edges of the surface:

Do not use any boundary:

Use a thick boundary around the edges of the surface:

BoundaryStyle applies to holes cut by RegionFunction:

BoxRatios  (2)

Automatic uses the natural scale from PlotRange:

Use BoxRatios to emphasize some particular feature, in this case the peaks of the surface:

ClippingStyle  (4)

Clipped regions use different surface colors by default:

Do not draw clipped regions:

Make clipped regions partially transparent:

Color clipped regions red at the bottom and blue at the top:

ColorFunction  (6)

Color by scaled , , and values:

Color according to the and coordinates:

Color by scaled coordinate:

Named color gradients from ColorData color in the direction:

ColorFunction has higher priority than PlotStyle:

ColorFunction has lower priority than MeshShading:

ColorFunctionScaling  (2)

Use unscaled coordinates:

Use scaled coordinates in the and directions and unscaled coordinates in the direction:

Filling  (3)

Fill to the bottom:

Filling occurs along the region cut by the RegionFunction:

Fill to both top and bottom:

FillingStyle  (2)

Fill to the bottom with a variety of styles:

Fill to the plane with red below:

Lighting  (2)

Colored lights are used to shade a white surface:

Lighting->"Neutral" uses white lights:

MaxRecursion  (1)

Refine the surface where it changes quickly:

Mesh  (7)

SmoothHistogram3D typically has 10 mesh lines in the direction:

Use 5 mesh lines in the direction:

Use no mesh:

Show the complete sampling mesh:

Use 3 mesh lines in the direction and 6 mesh lines in the direction:

Use mesh lines at specific values:

Use different styles for different mesh lines:

MeshFunctions  (3)

SmoothHistogram3D uses a height mesh by default:

Use mesh lines in the and directions:

Use mesh lines corresponding to fixed distances from the mean:

MeshShading  (4)

Use None to remove regions:

Lay a checkerboard pattern over a surface:

MeshShading has a higher priority than PlotStyle:

MeshShading has a higher priority than ColorFunction:

MeshStyle  (2)

Use red mesh lines:

Use red mesh lines in the direction and thick mesh lines in the direction:

NormalsFunction  (3)

Normals are automatically calculated:

Use None to get flat shading for all the polygons:

Vary the effective normals used on the surface:

PlotPoints  (2)

Use more initial points to get a smoother surface:

Use 20 initial points in the direction and 5 in the direction:

PlotRange  (2)

SmoothHistogram3D automatically selects the domain:

Use the full domain generated by SmoothKernelDistribution:

Explicitly provide the domain:

Use an explicit range to emphasize features:

PlotStyle  (5)

Color a surface with diffuse blue:

Adjust Specularity for the surface:

Use Opacity to get transparent surfaces:

Use separate styles for each of the surfaces:

Produce a wire mesh:

RegionFunction  (4)

Clip small values of the surface:

Filling will fill from the region boundary:

Regions do not have to be connected:

Use any logical combination of conditions:

Applications  (3)

Determine the number of modes present in bivariate data. It is good practice to observe the density over a range of bandwidths:

Over several bandwidth choices, two modes are identified:

Compare the distribution of data to a parametric model:

Quantify the comparison with DistributionFitTest:

Smooth histogram for a multivariate slice of a random process:

Properties & Relations  (7)

SmoothHistogram3D effectively plots the distribution function of SmoothKernelDistribution:

Use SmoothDensityHistogram and SmoothHistogram3D for bivariate data:

Use SmoothHistogram for univariate data:

Use Histogram3D and DensityHistogram to plot the data in discrete bins:

Use DiscretePlot3D to plot the data at discrete points:

Additional points will result in a better approximation of the underlying distribution:

As the bandwidth approaches infinity, the estimate approaches the shape of the kernel:

Neat Examples  (1)

Visualize the density of Old Faithful geyser data with the original data as an inset graphic:

Wolfram Research (2010), SmoothHistogram3D, Wolfram Language function, (updated 2015).


Wolfram Research (2010), SmoothHistogram3D, Wolfram Language function, (updated 2015).


@misc{reference.wolfram_2020_smoothhistogram3d, author="Wolfram Research", title="{SmoothHistogram3D}", year="2015", howpublished="\url{}", note=[Accessed: 15-January-2021 ]}


@online{reference.wolfram_2020_smoothhistogram3d, organization={Wolfram Research}, title={SmoothHistogram3D}, year={2015}, url={}, note=[Accessed: 15-January-2021 ]}


Wolfram Language. 2010. "SmoothHistogram3D." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2015.


Wolfram Language. (2010). SmoothHistogram3D. Wolfram Language & System Documentation Center. Retrieved from