# How to add Thickness in ListContourPlot3D

How do you add a thickness to ListContourPlot3D. Extrusion works with ContourPlot3D, but ListContourPlot3D rejects it. I am using Mathematica 10 on a mac.

ListContourPlot3D[RandomReal[{-1, 1}, {10, 10, 10}], Contours -> {0},
Mesh -> None, MaxPlotPoints -> 60]


• What if you use it as a ContourStyle setting? Oct 24 '15 at 14:46
• @J.M. What do you mean? ContourStyle -> Extrusion -> 0.1?
– user35064
Oct 24 '15 at 15:46

Using version 10.2-Linux, this undocumented option Extrusion seems to work with ListContourPlot3D

dta = Table[
x^3 + y^2 - z^2, {z, -2, 2, .1}, {y, -2, 2, .1}, {x, -2, 2, .1}];
Grid@Partition[#,
3] &@(ListContourPlot3D[dta, Contours -> {0}, Mesh -> None,
MaxPlotPoints -> 60, DataRange -> {#, #, #} &@{-2, 2},
Extrusion -> #] & /@ Range[0, 0.3, .05])


• Nice ! Works for me with 10.3 OSX (though Extrusion is highlighted in red in the code). Oct 29 '15 at 10:16
• Related post. It would mean that since v10.2, the undocumented Extrusion option seems also to work with ListContourPlot3D. Oct 29 '15 at 10:44
• It's all very odd. In RevolutionPlot3D and ParametricPlot3D you can simply use PlotStyle->Thickness[n] where n is a number. But for Plot3D you need to use this undocumented (red) option. Oct 29 '15 at 10:49

One approach would be to use ContourPlot3D with an interpolated version of the data list. For example:

tab = Flatten[Table[{{x, y, z}, RandomReal[{-1, 1}]},
{x, -1, 1, 0.1}, {y, -1, 1, 0.1}, {z, -1, 1, 0.1}], 2];
fn = Interpolation[tab];
ContourPlot3D[fn[x, y, z], {x, 0, 1}, {y, 0, 1}, {z, 0, 1},
Mesh -> None, Contours -> 1]