使用 pgfplots 裁剪 3D 图

使用 pgfplots 裁剪 3D 图

如何将 3D 图的路径剪切到 3D 轴边界框?我不是在谈论将路径剪切到投影边界框(pgfplots 默认执行此操作),我想删除 3D 中位于框外的点。

考虑以下情节:

\documentclass{standalone}
\usepackage{tikz, pgfplots}
\pgfplotsset{compat = 1.12}
\begin{document}
\begin{tikzpicture}
\begin{axis}[xmin = -1.1, xmax = 1.1,
             ymin = -1.1, ymax = 1.1,
             zmin = -1.1, zmax = 1.1]
\addplot3[domain = -1:1,samples = 20,
          samples y = 0, very thick] (0, 0, {2 * x});
\end{axis}
\end{tikzpicture}
\end{document}

未剪辑

我想要的是(不改变情节公式),这是:

正确剪辑

请注意标记夹在盒子上:改为\addplot3\addplot3+标记就会出现在盒子内部的部分,但不会出现在外部的部分。

标记被剪裁

我尝试了clip手册中的各种选项,但到目前为止都没有成功。

答案1

您可以使用该restrict z to domain键。它可以应用于整个轴或每个图,无论您需要哪种方式。

\documentclass{standalone}
\usepackage{tikz, pgfplots}
\pgfplotsset{compat = 1.12}
\begin{document}
\begin{tikzpicture}
\begin{axis}[xmin = -1.1, xmax = 1.1,
             ymin = -1.1, ymax = 1.1,
             zmin = -1.1, zmax = 1.1]
\addplot3[domain = -1:1,samples = 20,
          samples y = 0, very thick,
          restrict z to domain={-1.1:1.1}] (0, 0, {2 * x});
\end{axis}
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容