我有以下情节:
\begin{figure}[H]
\begin{tikzpicture}
\begin{axis}[
/pgf/number format/.cd,
use comma,
view={0}{90},
x tick label style={/pgf/number format/.cd, fixed, fixed zerofill, precision=1, /tikz/.cd},
y tick label style={/pgf/number format/.cd, fixed, fixed zerofill, precision=1, /tikz/.cd},
xmin=-5,
xmax=5,
ymin=-5,
ymax=5,
zmin=-80,
zmax=250,
minor x tick num=1,
minor y tick num=1,
major tick style={draw=black},
xlabel=$x_1$,
ylabel=$x_2$,
zlabel={~},
xtick={-5, -4, ..., 5},
ytick={-5, -4, ..., 5},
zticklabels={,,},
width=15cm,
height=13cm]
\addplot3 [surf, color=light_gray, samples=30, restrict z to domain=0:100, shader=flat] {((x-2)^2+(y-2)^2)-1};
\addplot3 [contour gnuplot = {labels=false, number=30}, thick, colormap/RdBu] table {data/styblinski_tang.dat};
\end{axis}
\end{tikzpicture}
\caption{Bla.}
\label{fig:fig1}
\end{figure}
该图显示了测试功能由二次函数叠加(如代码中定义)。我想描述,该函数为负的区域是“有效”区域,其余区域应为“无效”。因此,我绘制了没有负 z 域的函数。这基本上可以正常工作,但是一旦我增加样本,就会出现有关内存大小的错误,并且在当前图中它太粗略了。实现这一点的好方法是什么?我也尝试过用轮廓填充但它也不起作用。