考虑以下数据
3.1 1 21.8
3.1 0.98 19.16666667
3.1 0.96 17.83333333
3.1 0.94 16.16666667
3.1 0.92 15.5
3.1 0.9 14.83333333
3.1 0.88 14.16666667
3.1 0.86 13.5
3.1 0.84 12.83333333
3.1 0.82 12.16666667
3.1 0.8 12.16666667
3.1 0.78 11.5
3.1 0.76 100
3.1 0.74 100
3.3 1 21.83333333
3.3 0.98 20.5
3.3 0.96 18.5
3.3 0.94 16.83333333
3.3 0.92 15.5
3.3 0.9 14.83333333
3.3 0.88 14.16666667
3.3 0.86 13.5
3.3 0.84 12.83333333
3.3 0.82 12.16666667
3.3 0.8 12.16666667
3.3 0.78 11.5
3.3 0.76 11.5
3.3 0.74 11.5
3.5 1 21.83333333
3.5 0.98 20.5
3.5 0.96 18.5
3.5 0.94 17.16666667
3.5 0.92 15.5
3.5 0.9 14.83333333
3.5 0.88 14.16666667
3.5 0.86 13.5
3.5 0.84 12.83333333
3.5 0.82 12.16666667
3.5 0.8 12.16666667
3.5 0.78 11.5
3.5 0.76 11.5
3.5 0.74 11.5
其中第一列是x
值,第二列是y
值,第三列是z
值。
如何在制定隐藏/删除z
值等于 100 的表面区域的条件的同时绘制 3D 表面?
答案1
作为菲利佩问题下方的评论中已经链接了,关键是添加选项unbounded coords=jump
。然后剩下的就是将转移100
到NaN
。有关详细信息,请查看代码中的注释。
% used PGFPlots v1.15
\documentclass[border=5pt]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
% view={0}{90},
% you need to add this to get the desired result
unbounded coords=jump,
]
\addplot3 [
surf,
] table [
x=x,
y=y,
% use an expression to state that z values of 100 should be ignored
z expr={\thisrow{z} == 100 ? NaN : \thisrow{z}},
] {
x y z
3.1 1.00 21.8
3.1 0.98 19.16666667
3.1 0.96 17.83333333
3.1 0.94 16.16666667
3.1 0.92 15.5
3.1 0.90 14.83333333
3.1 0.88 14.16666667
3.1 0.86 13.5
3.1 0.84 12.83333333
3.1 0.82 12.16666667
3.1 0.80 12.16666667
3.1 0.78 11.5
3.1 0.76 100
3.1 0.74 100
3.3 1 21.83333333
3.3 0.98 20.5
3.3 0.96 18.5
3.3 0.94 16.83333333
3.3 0.92 15.5
3.3 0.9 14.83333333
3.3 0.88 14.16666667
3.3 0.86 13.5
3.3 0.84 12.83333333
3.3 0.82 12.16666667
3.3 0.8 12.16666667
3.3 0.78 11.5
3.3 0.76 11.5
3.3 0.74 11.5
3.5 1 21.83333333
3.5 0.98 20.5
3.5 0.96 18.5
3.5 0.94 17.16666667
3.5 0.92 15.5
3.5 0.9 14.83333333
3.5 0.88 14.16666667
3.5 0.86 13.5
3.5 0.84 12.83333333
3.5 0.82 12.16666667
3.5 0.8 12.16666667
3.5 0.78 11.5
3.5 0.76 11.5
3.5 0.74 11.5
};
\end{axis}
\end{tikzpicture}
\end{document}