使用 pgfplots 的 3D 曲面图出现故障

使用 pgfplots 的 3D 曲面图出现故障

我想用 pgfplots 绘制两个参数的曲面图。曲面的一部分应该出现在主曲面的后面,就像主曲面的上面一样,这看起来像是一个故障。 有故障的情节。 如果我反转 y 轴,一切看起来都很好: 绘制反转 y 轴且无故障的图表。

梅威瑟:

\documentclass{standalone}
\usepackage[utf8]{inputenc}
\usepackage{pgfplots}
\pgfplotsset{compat=1.9}

\begin{document}
\begin{tikzpicture}
 \begin{axis}%[y dir=reverse]
  \addplot3[surf,mesh/ordering=y varies]
    table {glitch.dat};
 \end{axis}
\end{tikzpicture} 
\end{document}

Glitch.dat 可以在这里找到:http://pastebin.com/bEyyKSnz 是否有一个参数可以传递给 pgfplots 以避免这种情况?

答案1

对于三维图,pgfplots用于z buffer=auto尝试确定以最智能的方式绘制图形,并在顶部放置正确的块。在这种情况下,该auto方法不会产生可接受的结果。

使用z buffer=sort来纠正问题。 可能性z buffer在当前版本 (v1.11) 的第 4.6.5 节中描述pgfplots手动的

\documentclass{standalone}
\usepackage[utf8]{inputenc}
\usepackage{pgfplots}
\pgfplotsset{compat=1.9}

\begin{document}
\begin{tikzpicture}
 \begin{axis}%[y dir=reverse]
  \addplot3[surf,mesh/ordering=y varies,z buffer=sort]
    table {glitch.dat};
 \end{axis}
\end{tikzpicture} 
\end{document}

在此处输入图片描述

相关内容