1
$\begingroup$

Is there any way to mark a specific line on the Plot3D graph in Log scale. My initial plot is: `

Plot3D[(y/(0.5*y + 2*x)), {x, 1/10^10, 1/10^3}, {y, 0, 4.5/10^6}, 
 ScalingFunctions -> {"Log", "Log", None}, 
 ColorFunctionScaling -> True]

` If is is not in Log scale,I know I can use ParametricPlot3D and use Show to overlay them together. But once I plot it in Log scale, ParametricPlot cannot show in Log scale. What I would like to have is something like this:

    Plot3D[(y/(0.5*y + 2*x)), {x, 1/10^10, 1/10^3}, {y, 0, 4.5/10^6}, 
 ScalingFunctions -> {"Log", "Log", None}, 
 ColorFunctionScaling -> True, 
 MeshFunctions -> Function @@@ {{{v, u}, v^3}}, Mesh -> 1, 
 PlotPoints -> 100, Ticks -> Automatic]

` However, since the MeshFunctions does not give a meaningful idea of what does the line stands for. Is there a way to just specify the X value to plot a line on that surface? Thanks!

$\endgroup$

1 Answer 1

2
$\begingroup$

The first two coordinates passed to the mesh functions are the Log of the x and y values. Here is the code for my interpretation of the intention of the OP's example MeshFunctions code (with a different value for the mesh line):

Plot3D[(y/(y/2 + 2*x)), {x, 1/10^10, 1/10^3}, {y, 0, 4.5/10^6}, 
 ScalingFunctions -> {"Log", "Log", None}, 
 ColorFunctionScaling -> True, 
 MeshFunctions -> {Function[{logx, logy, z}, Exp[logy]^3]}, 
 Mesh -> {{(5*^-7)^3}}, PlotPoints -> 100, Ticks -> Automatic]

enter image description here

$\endgroup$
2
  • $\begingroup$ You saved my bacon! Now that makes perfect sense to me. Thank you for helping me out with this. $\endgroup$ Sep 4, 2020 at 2:47
  • $\begingroup$ @ShawnYoung You're welcome. $\endgroup$
    – Michael E2
    Sep 4, 2020 at 2:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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