软剪辑不适用于曲线之间的阴影区域

软剪辑不适用于曲线之间的阴影区域

我一直在尝试寻找一种方法来遮蔽曲线之间的区域,但是当我尝试使用 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}

只要这是你想要的……

在此处输入图片描述

相关内容