我想用 标记三维图中的轴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}