参见以下绘制“阶梯”线的代码:
\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}
两者都产生相同的图像。