This is not entirely the same, as it changes coloring and z-scaling, but perhaps something similar may be of help. Essentially, the zero values are lifted by a small increment, while the original z-range is preserved. data = {{1, 1, 1, 1}, {1, 0, 3, 1}, {2, 0, 0, 1}}; ListPlot3D[data /. x_ /; x < .01 -> 0.01, Mesh -> None, InterpolationOrder -> 0, Filling -> Bottom, FillingStyle -> {Opacity[1]}, ColorFunction -> "SolarColors", ViewPoint -> {Pi, Pi, 5}, PlotRange -> {Automatic, Automatic, {Min[data], Max[data]}}] ![Mathematica graphics](https://i.sstatic.net/8x2v4.png)