我一直在尝试寻找一种方法来遮蔽曲线之间的区域,但是当我尝试使用 softclip 在 LaTeX 中编码时,一切都停止了。我不知道该怎么办。
这是我的代码:
\documentclass[tikz, border=2mm]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
grid=both,
axis lines=middle,
xmin=-2, xmax=5,
ymin=-5, ymax=10,
xlabel={$x$},
ylabel={$y$},
legend style={at={(0.5,-0.15)}, anchor=north},
]
\addplot[blue, domain=-2:5, samples=100, name path=A] {x^2 - 2*x};
\addlegendentry{$y = x^2 - 2x$}
\addplot[red, domain=-2:5, samples=100, name path=B] {4*x - x^2};
\addlegendentry{$y = 4x - x^2$}
% Create a path for the shaded region
\path[name path=zero] (0,0) -- (0,8);
% Shade the region between the two functions in red
\addplot[red, fill, opacity=0.3] fill between[of=A and B, soft clip={domain=0:3}] \closedcycle;
\end{axis}
\end{tikzpicture}
\end{document}
答案1
当我尝试运行您的代码时,看到以下消息:
! Package pgfplots Error: 'name path' is undefined. Please load \usetikzlibrary {intersections} or \usepgfplotslibrary{fillbetween}.
所以我这样做了。我将其插入\usepgfplotslibrary{fillbetween}
序言中。现在它对我来说似乎很完美。
\documentclass[tikz, border=2mm]{standalone}
\usepackage{pgfplots}
\usepgfplotslibrary{fillbetween}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
grid=both,
axis lines=middle,
xmin=-2, xmax=5,
ymin=-5, ymax=10,
xlabel={$x$},
ylabel={$y$},
legend style={at={(0.5,-0.15)}, anchor=north},
]
\addplot[blue, domain=-2:5, samples=100, name path=A] {x^2 - 2*x};
\addlegendentry{$y = x^2 - 2x$}
\addplot[red, domain=-2:5, samples=100, name path=B] {4*x - x^2};
\addlegendentry{$y = 4x - x^2$}
% Create a path for the shaded region
\path[name path=zero] (0,0) -- (0,8);
% Shade the region between the two functions in red
\addplot[red, fill, opacity=0.3] fill between[of=A and B, soft clip={domain=0:3}] \closedcycle;
\end{axis}
\end{tikzpicture}
\end{document}
只要这是你想要的……