PGFPLOTS 3d 框线 Z 轴未绘制

PGFPLOTS 3d 框线 Z 轴未绘制

Z 轴的垂直 3D 框线未绘制。如果我将网格线设为虚线,则线条会绘制,但也会像网格线一样显示为虚线。

对我来说,看起来这条线实际上是画出来的,但它似乎在网格的后面(这就是为什么它会和虚线网格一起出现虚线的原因)。

更新:刚刚确认,如果我删除网格,就会grids = none出现方框线。

有任何解决这个问题的方法吗?

MWE(对于虚线,只需取消注释网格样式线):

\documentclass[12pt,a4paper]{report}
\usepackage[latin1]{inputenc}
\usepackage{pgfplots}
\pgfplotsset{compat=1.3}
\begin{document}
\begin{figure}
\centering
\begin{tikzpicture}
\begin{axis}[
width=8cm,
height=8cm,
grid = major,
%grid style={dashed, gray!50},
scale only axis,
xmin=-2, xmax=2,
xtick={-2,-1,0,1,2},
xlabel={X},
ymin=-2, ymax=2,
ytick={-2,-1,0,1,2},
ylabel={Y},
zmin=0, zmax=4,
ztick={0,1,2,3,4},
zlabel={Z},
3d box=background,
view={322.5}{30},]

\addplot3 [
color=black,
mark size=2.5pt,
only marks,
mark=*,
mark options={solid}]
table {
-0.25 -0.25 3
};
\addplot3 [
color=black,
mark size=2.5pt,
only marks,
mark=*,
mark options={solid}]
table {
-0.25 0.25 3
};
\addplot3 [
color=black,
mark size=2.5pt,
only marks,
mark=*,
mark options={solid}]
table {
0.25 0.25 3
};
\addplot3 [
color=black,
mark size=2.5pt,
only marks,
mark=*,
mark options={solid}]
table {
0.25 -0.25 3
};
\end{axis}
\end{tikzpicture}
\end{figure}
\end{document}

结果:

在此处输入图片描述

在此处输入图片描述

答案1

set layers您可以通过将 添加到轴来解决问题。这将为您的 激活分层图形tikzpicture,并且图层将按正确的顺序绘制。默认设置为单独添加到单个轴,这可能会导致观察到的效果。设置set layers不应该对外观产生任何负面影响,并且少量额外的运行时成本可能无关紧要。

该功能set layers相对较新,需要 pgfplots 1.7

也许这最终应该成为默认...

相关内容