# Color consistency in Plot3D with 2D projection

This code adapted from Placing a ContourPlot under a Plot3D works pretty well.

u[x_, y_] := x^.5 y^.5
contour =
ContourPlot[u[x, y], {x, 0, 1}, {y, 0, 1}, PlotRange -> {0, 1},
Axes -> False, Contours -> 15, PlotPoints -> 50,
PlotRangePadding -> 0, ColorFunction -> "Aquamarine"]
potential1 =
Plot3D[u[x, y], {x, 0, 1}, {y, 0, 1}, PlotRange -> {0, 1},
ClippingStyle -> None, MeshFunctions -> {#3 &}, Mesh -> 15,
MeshStyle -> Opacity[.5],
MeshShading -> {{Opacity[.3], Blue}, {Opacity[.8], LightBlue}},
PlotRange -> {Automatic, Automatic, {min, 2}}, Lighting -> "Neutral"]
Show[potential1,
Graphics3D[contour[[1]] /. {x_Real, y_Real} :> {x, y, 0}],
BoxRatios -> {1, 1, 0.6}, FaceGrids -> {Back, Left}]


Here is the outcome:

I wonder how to reuse the color function on the contour plot to have identical colors.

• min is missing. Commented Jan 11, 2017 at 18:52
• As much fo me min = 0 Commented Jan 11, 2017 at 19:43

## 1 Answer

In contour, instead of ColorFunction place ContourShading -> {{Opacity[.3], Blue}, {Opacity[.8], LightBlue}}:

u[x_, y_] := x^.5 y^.5
contour =
ContourPlot[u[x, y], {x, 0, 1}, {y, 0, 1}, PlotRange -> {0, 1},
Axes -> False, Contours -> 15, PlotPoints -> 50,
PlotRangePadding -> 0,
ContourShading -> {{Opacity[.3], Blue}, {Opacity[.8],
LightBlue}}];
potential1 =
Plot3D[u[x, y], {x, 0, 1}, {y, 0, 1}, PlotRange -> {0, 1},
ClippingStyle -> None, MeshFunctions -> {#3 &}, Mesh -> 15,
MeshStyle -> Opacity[.5],
MeshShading -> {{Opacity[.3], Blue}, {Opacity[.8], LightBlue}},
PlotRange -> {Automatic, Automatic, {min, 2}},
Lighting -> "Neutral"];
Show[potential1,
Graphics3D[contour[[1]] /. {x_Real, y_Real} :> {x, y, 0}],
BoxRatios -> {1, 1, 0.6}, FaceGrids -> {Back, Left}]