使用pgfplots
可以轻松生成\addplot3
表面z=f(x,y)
。
有没有办法用公式生成表面x = f(y,z)
。
\addplot3{f(x,y)}
由于代码中还有另一个轴,因此我无法更改轴。
答案1
我的意思是:你总是可以使用参数图来交换 x 和 z 的角色。例如,如果你替换
\addplot3[surf,domain=0:5,domain y=0:5] {f(x,y)};
经过
\addplot3[surf,domain=0:5,domain y=0:5,point meta=x] ({f(x,y)},x,y);
x 振幅由函数决定,而不是 z 振幅。
\documentclass[tikz,border=3mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.17}
\begin{document}
\begin{tikzpicture}
\begin{axis}[declare function={f(\x,\y)=6+exp(-pow(\x-2.5,2)-pow(\y-2.5,2));}]
\addplot3[surf,domain=0:5,domain y=0:5] {f(x,y)};
\addplot3[surf,domain=0:5,domain y=0:5,point meta=x] ({f(x,y)},x,y);
\end{axis}
\end{tikzpicture}
\end{document}