我想在 pgfplots 中绘制平面 x+y=1。在此示例中,z 是自由的,并且不是 x 和 y 的明确函数。因此我无法使用
\addplot3[surf, fill=blue, opacity=0.1, fill opacity=0.4] {z=whatever};
我也无法参数化平面,因为以下语法指示将 z 设为自由不起作用:
\addplot3[surf, fill=blue, opacity=0.1, fill opacity=0.4] {x,-x+1,{}};
我该怎么做?也许通过使用范围并切换 x 和 z 轴,这样我就可以使用上述标准语法之一。
答案1
\documentclass{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.12}
\usepgfplotslibrary{fillbetween}
\begin{document}
\begin{tikzpicture}
\begin{axis}[enlargelimits=false,grid=major]
\addplot3[name path=toppath,fill=blue, opacity=0.1, fill opacity=0.4,samples=2] (x,-x+1,5);
\addplot3[name path=botpath,fill=blue, opacity=0.1, fill opacity=0.4,samples=2] (x,-x+1,-5);
\addplot [gray] fill between[of=toppath and botpath];
\end{axis}
\end{tikzpicture}
\end{document}