填充区域 pgfplots

填充区域 pgfplots

不知何故,我无法填充曲线下方的区域。该库fillbetween应该能够处理这个问题,但我却无法处理(可能是因为我)。MWE:

\documentclass{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.13}
\usepgfplotslibrary{fillbetween}
\begin{document}
        \pgfplotstableread[row sep=\\,col sep=&]{
            amount &     data \\
                 1 &    90022 \\
                 2 &   105302 \\
                 3 &   117969 \\
                 4 &   133371 \\
                 5 &   147297 \\
                 6 &   161596 \\
                 7 &   175571 \\
                 8 &   222404 \\
                 9 &   232617 \\
                10 &   245301 \\
        }\datapoints
        \begin{tikzpicture}
            \begin{axis}[
                ymin=-20000, ymax=300000,
            ]
                \addplot[green!60!black, line width=1.2pt, name path=base, smooth] table[x=amount, y=data]{\datapoints};
                \path[name path=xaxis] (axis cs:1,0) -- (axis cs:10,0);
                \addplot [
                        thick,
                        color=blue,
                        fill=green!60!black,
                        fill opacity=0.5
                    ]
                    fill between[
                        of=xaxis and base,
                        soft clip={domain=1:10},
                    ];
            \end{axis}
        \end{tikzpicture}
\end{document}

对我来说结果是这样的:

在此处输入图片描述

显然,我希望曲线下方的整个区域都填满。一旦我从中删除属性,smooth一切addplot都会按预期运行。如果我使用soft clip={domain=2:10}选项填充,它也能正常工作(但只填充 2 到 10 之间)。

我不知道如何才能填充整个区域并仍然使用平滑曲线。任何帮助都将不胜感激。

答案1

soft clip={domain=1.01:10}

正确填充

相关内容