对半平面进行着色,但在背景中

对半平面进行着色,但在背景中

参见以下绘制“阶梯”线的代码:

\begin{tikzpicture}
\draw[help lines, color=gray!30, dashed] (-4.9,-4.9) grid (4.9,4.9);
\draw[->,ultra thick] (-5,0)--(5,0) node[right]{$j$};
\draw[->,ultra thick] (0,-5)--(0,5) node[above]{$i$};


\draw[](-4,5)--(-4,-1);
\draw[](-4,-1)--(-2,-1);
\draw[](-2,-1)--(-2,-3);
\draw[](-2,-3)--(2,-3);
\draw[](2,-3)--(2,-4);
\draw[](2,-4)--(5,-4);




\end{tikzpicture}

在此处输入图片描述

我想用浅色填充由这种线界定的上半平面。我还希望选定区域位于背景上,换句话说,颜色不应覆盖轴和网格。您有什么想法吗?

答案1

像这样?

在此处输入图片描述

我曾经\def\myPath多次使用它。我也在draw 命令来创建一条路径。使用backgrounds库,您可以在“后台”绘制事物。当然,另一种方法是\fill在绘制网格和轴之前执行该命令。

\documentclass[tikz,margin=2mm]{standalone}

\usetikzlibrary{backgrounds}

\begin{document}
    \begin{tikzpicture}
    \draw[help lines, color=gray!30, dashed] (-4.9,-4.9) grid (4.9,4.9);
    \draw[->,ultra thick] (-5,0)--(5,0) node[right]{$j$};
    \draw[->,ultra thick] (0,-5)--(0,5) node[above]{$i$};

    \def\myPath{(-4,5)
            --(-4,-1)
            --(-2,-1)
            --(-2,-3)
            --( 2,-3)
            --( 2,-4)
            --( 5,-4)}
    \draw \myPath;

    \begin{scope}[on background layer]
        \fill[red!20] \myPath |- cycle;
    \end{scope}



    \end{tikzpicture}
\end{document}

不使用库的替代方法backgrounds

\documentclass[tikz,margin=2mm]{standalone}

%\usetikzlibrary{backgrounds}

\begin{document}
    \begin{tikzpicture}
        \def\myPath{(-4,5)--(-4,-1)--(-2,-1)--(-2,-3)--( 2,-3)--( 2,-4)--( 5,-4)}

        % Filled area
        \fill[red!20] \myPath |- cycle;

        % Grid and axes
        \draw[help lines, color=gray!30, dashed] (-4.9,-4.9) grid (4.9,4.9);
        \draw[->,ultra thick] (-5,0)--(5,0) node[right]{$j$};
        \draw[->,ultra thick] (0,-5)--(0,5) node[above]{$i$};

        % Drawn plot
        \draw \myPath;

    \end{tikzpicture}
\end{document}

两者都产生相同的图像。

相关内容