使用 Pgfplots 表示半平面

使用 Pgfplots 表示半平面

我对 TeX 还很陌生,偶尔需要制作一些图形,尤其是函数图。我在这里看到最简单的软件包是pgfplots,所以我一直在使用它,效果非常好。

但是,我现在需要表示半平面,尽管我疯狂地用 Google 搜索,但我似乎找不到用该包实现此目的的简单方法。当然我可以使用其他包,但我不想偏离这个包太多,进入太复杂的“未知领域”。

我真正想要的是一种从方程式中表示半平面的方法——例如,我输入类似的内容y < -2x + 1,它会显示半平面在 Desmos 上。让它逐渐消失会很好,但如果太复杂的话就没有必要了。

如果这看起来像是我要求你做所有的工作,我很抱歉,但我真的不知道从哪里开始,我相信有一种简单的方法可以做到这一点,我太新了,不知道。或者,我的下一个可能的猜测是绘制图片边界之外的一些东西,然后fill between在它和半平面的边界之间使用。

提前致谢

答案1

欢迎!如果没有以某种方式在某个地方完成,我会感到惊讶,但这里有一个版本,你只需要指定类似

ycrit(\x)=-2*\x+1;

遮蔽该线下方的半平面。

\documentclass[tikz,border=3mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.17} 
\begin{document}
\begin{tikzpicture}
  \begin{axis}[axis lines=middle,minor tick num=4,grid=both,
      xmin=-5,xmax=5,ymin=-5,ymax=5,
      set layers,declare function={ycrit(\x)=-2*\x+1;}]
    \begin{pgfonlayer}{axis background}
     \path[fill=red!20]
        ({(\pgfkeysvalueof{/pgfplots/ymax}-ycrit(0))/(ycrit(1)-ycrit(0))},\pgfkeysvalueof{/pgfplots/ymax})
        --
        ({(\pgfkeysvalueof{/pgfplots/ymin}-ycrit(0))/(ycrit(1)-ycrit(0))},\pgfkeysvalueof{/pgfplots/ymin})
        edge[dashed,red]
        ({(\pgfkeysvalueof{/pgfplots/ymax}-ycrit(0))/(ycrit(1)-ycrit(0))},\pgfkeysvalueof{/pgfplots/ymax})
        -- (\pgfkeysvalueof{/pgfplots/xmin},\pgfkeysvalueof{/pgfplots/ymin})
        |- cycle;
        ;
    \end{pgfonlayer}
  \end{axis}
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容