在 pgfplots 中命名 3D 轴

在 pgfplots 中命名 3D 轴

我想用 标记三维图中的轴pgfplots。使用锚点.right of origin.above origin,我可以轻松地在二维中将轴标记为“x”和“y”。在三维中,必须调整标签才能出现在正确的位置,而且我没有简单的方法来标记 x 轴。是否有与这些位置直接相关的锚点?下面的 MWE 显示了我迄今为止制作的内容。

\begin{tikzpicture}
\begin{axis}%
[width=175pt,tick label style={font=\scriptsize},axis on top,
axis lines=center,
y dir=reverse,
name=myplot,
ymin=-1.1,ymax=1.1,
xmin=-1.1,xmax=1.1,
zmin=-1.1, zmax=1.1
]
\end{axis}
\node [right] at (myplot.right of origin)[shift={(-20pt,-8pt)}] {\scriptsize $y$};
\node [above] at (myplot.above origin) [shift={(0,-20pt)}] {\scriptsize $z$};
\end{tikzpicture}

在此处输入图片描述

答案1

pgfplots、版本 1.8,以及

\pgfplotsset{compat=1.8}

可以使用选项

  • xlabel
  • ylabel
  • zlabel

由于你已经扭转了

y dir=reverse

有必要纠正的every axis y label位置

every axis y label/.append style={at=(ticklabel* cs:0)}

(之前(ticklabel* cs:1))。

在下面的例子中,我调整了整个图的大小,以便它不再像以前那么拥挤。

代码

\documentclass[tikz]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.8}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
  width=2*175pt,
  tick label style={font=\scriptsize},
  axis on top,
  axis lines=center,
  y dir=reverse,
  name=myplot,
  enlargelimits=.1,
  ymin=-1, ymax=1, xmin=-1, xmax=1, zmin=-1, zmax=1,
  xlabel=$x$, ylabel=$y$, zlabel=$z$,
  every axis y label/.append style={at=(ticklabel* cs:0)}]
\end{axis}
\end{tikzpicture}
\end{document}

输出

在此处输入图片描述

相关内容