控制 \addplot3 中 3D 轴的可见性

控制 \addplot3 中 3D 轴的可见性

在尝试使用 \addplot3 绘制抛物面时,其范围为 x 和 y 均为 [-4, 4],最初,z 轴位于表面后面。我发现axis on top,但您能让轴显示它们在“现实”中的样子吗?也就是说,在它们实际在前面的地方显示前面,在它们实际在后面的地方显示后面。

我通常会包含 MWE,一开始没有这样做的唯一原因是我认为这只是一些简单的设置,有经验的人会立即知道该怎么做。以下代码仅包含图片的一次运行。输出显示图片的两次运行,左侧的一次使用下面的代码,右侧的一次删除了%from % axis on top

要么轴完全被遮挡,要么轴完全在前面。我只想要真正在前面的东西在前面。

平均能量损失

输出

\documentclass{standalone}

\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{pgfplots}
\usepackage{mathtools}

\begin{document}
%
\par\begin{tikzpicture}
%
\begin{axis}[
    axis lines=middle, axis on top,
    xtick={-2,2}, ytick={-2,2},ztick={16,32},
    y dir=reverse,
    enlargelimits=true
    ]
\addplot3[surf, thick, color=green, domain=-4:4] {x^2+y^2};
%
\end{axis}
%
\end{tikzpicture}
%
\end{document}

答案1

抱歉,自动执行此操作目前超出了 pgfplots 的功能。

实现它会非常酷,但也非常复杂 - 它涉及完整的 3d 深度处理(有关当前限制的完整描述,请参阅 pgfplots 手册中 3d 图开头的讨论)。

Pgfplots 通常最好使用非中心轴线,因为这样不会出现此问题 - 如果这对您来说是一个选择的话。

相关内容