Разметка поверхности на Plot3D
Есть ли способ пометить конкретную линию на графике Plot3D в шкале журнала. Мой первоначальный сюжет:
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]
`Если это не в масштабе журнала, я знаю, что могу использовать ParametricPlot3D и использовать Show, чтобы наложить их вместе. Но как только я рисую его в масштабе журнала, ParametricPlot не может отображаться в масштабе журнала. Я бы хотел иметь что-то вроде этого:
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]
`Однако, поскольку MeshFunctions не дает осмысленного представления о том, что означает линия. Есть ли способ просто указать значение X, чтобы построить линию на этой поверхности? Благодаря!
Ответы
Первые две координаты переданы функции сетки являются Logиз xи yценностей. Вот код для моей интерпретации намерения MeshFunctionsкода примера OP (с другим значением для линии сетки):
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]