x=f(y,z) 的表面 pgf 图

x=f(y,z) 的表面 pgf 图

使用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}

在此处输入图片描述

相关内容