1
$\begingroup$

I want to place a two-dimensional contour map under a three-dimensional ascending contour map。I use “Texture” function wihch can not work against。 I want to like this picutre: enter image description here

 g[x_, y_, z_] := 
  If[x == 0 && y == 0 && z == 0, None, 
   Exp[-0.3 Sqrt[x^2 + y^2 + z^2]] x];
{ContourPlot3D[#, {x, -10, 10}, {y, -10, 10}, {z, -10, 10}],
   buttom = 
    SliceContourPlot3D[#, {"CenterPlanes"}, {x, -15, 15}, {y, -15, 
      15}, {z, -15, 15}, Boxed -> False, Axes -> False, 
     ViewPoint -> Front]} & /@ {g[x, y, z]^2}
ContourPlot3D[g[x, y, z], {x, -10, 10}, {y, -10, 10}, {z, -10, 10}, 
 PlotStyle -> Texture[buttom]]

How should I can do?

$\endgroup$
3

1 Answer 1

2
$\begingroup$

enter image description here

pretty good

g[x_, y_, z_] := 
 If[x == 0 && y == 0 && z == 0, None, 
  Exp[-0.2 Sqrt[x^2 + y^2 + z^2]] x]
atomplot1 = 
  ContourPlot3D[
   g[x, y, z]^2, {x, -15, 15}, {y, -15, 15}, {z, -15, 15}, 
   ColorFunction -> Function[{x, y, z}, Hue[g[x, y, z]]]];
atomplot2 = 
  atomplot2 = 
   SliceContourPlot3D[g[x, y, z + 15]^2, 
    z == -15, {x, -15, 15}, {y, -15, 15}, {z, -15, 15}, Axes -> False,
     ColorFunction -> "Rainbow"];
Show[atomplot1, atomplot2, PlotRange -> All, BoxRatios -> {1, 1, .6}, FaceGrids -> {Back, Left}]
$\endgroup$

Not the answer you're looking for? Browse other questions tagged or ask your own question.