TikZで斜線で塗りつぶす方法
TikZで斜線で塗りつぶす方法を書く。コードの全体は最下部に貼りました。
手順
\path[clip] plot[domain=0:pi] ({\x}, {sin(\x r)}) -- cycle;
斜線で塗りつぶしたい領域のpathを作ってclipします。clipした領域の外部は編集できなくなります。
\foreach \t in {1,2,...,20}{
\path[draw] (0.15*\t, 0) -- (0.15*\t + 0.4, 1);
}
clipした領域から若干はみでるように,繰り返し斜線を引きます。clipした領域の外部は描画されないので,clipした領域だけが斜線で塗りつぶされます。
clipした領域の外部を編集したい場合は,
\begin{scope}
~
\end{scope}
で,clipの効果が及ぶ範囲を限定します。
以下,TeXソースまるごとです.
\RequirePackage{luatex85}
\documentclass[border=15pt]{standalone}
\usepackage{tikz}
\usepackage{newpxtext, newpxmath}
\begin{document}
\begin{tikzpicture}
\path[draw] plot[domain=0:2*pi] ({\x},{sin(\x r)});
\path[draw,->,>=stealth] (0, -2) -- (0, 2) node[above]{$y$};
\path[draw,->,>=stealth] (-1, 0) -- (7.5, 0) node[below]{$x$};
\node at (pi,1) {$y=\sin x$};
\node[below left] at (0,0){$\mathrm{O}$};
\begin{scope}
\path[clip] plot[domain=0:pi] ({\x}, {sin(\x r)}) -- cycle;
\foreach \t in {1,2,...,20}{
\path[draw] (0.15*\t, 0) -- (0.15*\t + 0.4, 1);
}
\end{scope}
\end{tikzpicture}
\end{document}
お役に立ったらスキしてください. サポートは投稿を続けるモチベーションになります. ありがとうございます.