我正在尝试使用 pfgplots 获取隐式图,我之前使用类似于下面 MWE 的代码做过几次。但是,这个特定的图一直给我一个“维度太大”的错误。尝试了很多方法后,我将其归结为使用“平滑”选项。
以下 MWE 可以编译,但得到的输出有一条相当锯齿状的线。
\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.17}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
axis equal image,
xmin=-3.5, xmax=3.5, ymin=-3.5, ymax=3.5,
view={0}{90}, zmin=-0.1, zmax=0.1,
]
\addplot3[
domain=-3.5:3.5, domain y=-3.5:3.5,
contour gnuplot={levels={0}, draw color=black, labels=false},
%smooth,
] { 3*x^3 + y^5 - 17*x*y - 1 } ;
\end{axis}
\end{tikzpicture}
\end{document}
如果我取消注释%smooth
上面的行,就会出现上面提到的“尺寸太大”错误。
目前我唯一的猜测是 TikZ/pgfplots 使用的平滑算法中存在错误。但我在 gnuplot 生成的点表中找不到任何明显会导致这种情况的原因。作为参考,以下是该表:
# Surface 0 of 1 surfaces
# Curve title: ""MWE_contourtmp0.dat""
# Contour 0, label: 0
-3.5 1.82278 0
-3.37301 1.74999 0
-3.20833 1.61636 0
-2.97478 1.45832 0
-2.91667 1.40479 0
-2.625 1.18405 0
-2.59573 1.16666 0
-2.33334 0.960836 0
-2.19565 0.874989 0
-2.04167 0.75492 0
-1.76526 0.583323 0
-1.75 0.571874 0
-1.45834 0.414449 0
-1.16881 0.291657 0
-1.16667 0.290512 0
-0.875006 0.20224 0
-0.583341 0.160772 0
-0.291675 0.216372 0
-0.212183 0.291657 0
-0.0965153 0.583323 0
-0.0333197 0.874989 0
-8.5e-06 0.961155 0
0.0593161 1.16666 0
0.228061 1.45832 0
0.291657 1.51269 0
0.535197 1.74999 0
0.583323 1.77426 0
0.874989 1.92052 0
1.117 2.04165 0
1.16666 2.05477 0
1.45832 2.11703 0
1.74999 2.16045 0
2.04165 2.17603 0
2.33332 2.15243 0
2.62499 2.07511 0
2.69382 2.04165 0
2.83857 1.74999 0
2.7426 1.45832 0
2.62499 1.28094 0
2.5304 1.16666 0
2.33332 0.960705 0
2.23013 0.874989 0
2.04165 0.714495 0
1.84816 0.583323 0
1.74999 0.508526 0
1.45832 0.335445 0
1.35693 0.291657 0
1.16666 0.18984 0
0.874989 0.0679123 0
0.666735 -8.5e-06 0
0.583323 -0.0408249 0
0.291657 -0.186949 0
0.192209 -0.291675 0
0.10495 -0.583341 0
0.0999931 -0.875006 0
0.157375 -1.16667 0
0.291657 -1.42993 0
0.302608 -1.45834 0
0.566325 -1.75 0
0.583323 -1.75967 0
0.874989 -1.96053 0
0.967769 -2.04167 0
1.16666 -2.13345 0
1.45832 -2.30011 0
1.50625 -2.33334 0
1.74999 -2.42888 0
2.04165 -2.56713 0
2.14418 -2.625 0
2.33332 -2.68966 0
2.62499 -2.8068 0
2.85789 -2.91667 0
2.91665 -2.93446 0
3.20832 -3.03565 0
3.49998 -3.15231 0