提供更多详细信息:
如果我们仅提供顶部/中部/底部颜色,就像下面的代码一样:
\addplot[fill opacity=1,top color=white,bottom color=white,middle color=black] 在 [of=A 和 B] 之间填充;
结果图片为:
如果我们仅像下面的代码一样输入左/中/右颜色:
\addplot[fill opacity=1,left color=white,right color=white,middle color=black] 在 [of=A 和 B] 之间填充;
结果图片为:
此案例更像是参考重复案例。
但原始图片的褪色是沿着曲线的方向进行的,颜色从中心到边界逐渐褪色。所以它非常特殊。
薛定谔的猫的答案只是做了一种工作,多次绘制淡入淡出并逐一缩小,然后它只是模拟了这种效果。由于将绘图分成一个循环,所以肯定很慢。但这正是我们想要的。
答案1
如果问题是是否有可能编造一个与你所展示的情节相似的情节,那么答案是肯定的。
\documentclass[tikz,border=3mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\usepgfplotslibrary{fillbetween}
\begin{document}
\begin{tikzpicture}
\begin{axis}[declare function={f(\x,\y)=tanh((1840+\y-\x)/200)*\x/1.8;},
scaled y ticks=false,
xmin=0,xmax=1800,ymin=0,ymax=1100,
yticklabel={\pgfmathparse{\tick/1000}\pgfmathprintnumber\pgfmathresult}
]
\addplot[domain=0:2000,samples=201]
{f(x,0)};
\pgfplotsinvokeforeach{1,...,20}{
\addplot[domain=0:2000,samples=201,name path=A,draw=none]
{(1+#1/400)*f(x,5*#1)};
\addplot[domain=0:2000,samples=201,name path=B,draw=none]
{(1-#1/400)*f(x,-5*#1)};
\addplot [black,fill opacity=0.1] fill between [of=A and B];
}
\end{axis}
\end{tikzpicture}
\end{document}
如果这里的函数是可逆的,那么使用曲面图的方法会更简单。