我对 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}