我想用 pgfplots 绘制两个参数的曲面图。曲面的一部分应该出现在主曲面的后面,就像主曲面的上面一样,这看起来像是一个故障。 如果我反转 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}