I want to label the axes in a 3D plot with pgfplots
. Using the anchors .right of origin
and .above origin
, I can label the axes as "x" and "y" in 2D with ease. In 3D, the labels must be tweaked to appear in the correct place, and I have no simple way of labeling the x-axis. Is there an anchor that directly relates to these positions? The MWE below shows what I've produced so far.
\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}
Best Answer
With
pgfplots
, version 1.8, andit is possible to use the options
xlabel
,ylabel
as well aszlabel
.As you have reversed the direction of the y axis with
it is necessary to correct the position of
every axis y label
with(previously
(ticklabel* cs:1)
).In the example below, I have resized the whole plot so that it isn’t as cramped as before.
Code
Output