如何在 Tikz/PGF 中对三条线之间的区域进行阴影处理

如何在 Tikz/PGF 中对三条线之间的区域进行阴影处理

我只知道如何在两条曲线之间着色区域,只需通过使用参数为每条曲线指定一条路径:名称路径 = A 等。到目前为止,它通过指定 2 条路径然后使用命令

\addplot [gray!30] fill between [of = A and B, soft clip={domain=1:3}];

我希望对三条线之间的区域进行阴影处理,因此在尝试指定第三条路径 C 时,命令给出了错误,所述区域如下所示:

在此处输入图片描述

答案1

简答。绘制三条线后,您知道交点 A(1,2)、B(2,0) 和 C(4,3)。因此添加以下行:

\fill[gray] (1,2)--(2,0)--(4,3)--cycle;

(几乎)完整的答案。

\documentclass[a4paper]{article}
\usepackage{tikz}

\begin{document}

\begin{center}
    \begin{tikzpicture}[font=\sffamily\small]
        %
        \draw[gray!20,step=0.5cm] (-6.5,-2) grid (6.5,6.5);
        %
        \draw[->,thick] (-6.6,0) -- (6.6,0) node[anchor=west]{$x$};
        \draw[->,thick] (0,-2) -- (0,6.6) node[anchor=south]{$y$};
        %
        \foreach \x in {-6,-5,...,6} \draw [thick](\x cm,-2pt) -- (\x cm,2pt);
        \foreach \y in {-2,-1,...,6} \draw [thick](-2pt,\y) -- (2pt,\y);
        %
        \foreach \x in {-6,-5,...,6} \draw (\x cm, 0 cm) node[anchor=north]{\x};
        \foreach \y in {-2,-1,...,6}  \draw (0 cm, \y cm) node[anchor=east]{\y};
        
        \fill[gray] (1,2)--(2,0)--(4,3)--cycle;
        \clip (-6.5,-2) rectangle (6.5,6.5);
        \draw[cyan,line width=2pt] plot[domain=-6.5:6.5] (\x,{\x/3+5/3});
        \draw[cyan,line width=2pt] plot[domain=-6.5:6.5] (\x,{-2*\x+4});
        \draw[cyan,line width=2pt] plot[domain=-6.5:6.5] (\x,{3*\x/2-3});
    \end{tikzpicture}
\end{center}

\结束{文档}

输出:

在此处输入图片描述

相关内容