在 pgfplots 中绘制三维平面 x+y=1

在 pgfplots 中绘制三维平面 x+y=1

我想在 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}

在此处输入图片描述

相关内容