不知何故,我无法填充曲线下方的区域。该库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 之间)。
我不知道如何才能填充整个区域并仍然使用平滑曲线。任何帮助都将不胜感激。