O que estou tentando alcançar:
Basicamente, quero chegar o mais próximo possível desta imagem:
Observe que as linhas dos eixos estão centralizadas, mas os rótulos das marcas estão do lado de fora (semelhante ao estilo de eixo em caixa).
O que tenho até agora:
\documentclass{minimal}
\usepackage{pgfplots}
\usepackage{graphicx} % For \resizebox
\pgfplotsset{compat=newest}
\begin{document}
\centering
\resizebox{0.8\textwidth}{!}{%
\begin{tikzpicture}
\begin{axis}[
axis lines=center,
grid=major,
xlabel=\(x\), xmin=-5.25, xmax=5.25,
xtick distance=1, xtick pos=bottom,
ymin=-5.25, ymax=5.25,
ytick distance=1, ytick pos=left,
]
\end{axis}
\end{tikzpicture}
} % \resizebox
\end{document}
Como você pode ver, os próprios ticks foram movidos para a esquerda e para baixo, conforme especificado por xticklabel pos=bottom
e yticklabel pos=left
.
Observe que, de acordo com oManual PGFPlots Revisão 1.16, seção 4.15.2 (Alinhamento de tick: posições e turnos):
A alteração
tick pos
também afetará a colocação dos rótulos de escala.
No entanto, este não parece ser o caso aqui.
Responder1
Aqui mostro uma solução possível para conseguir o que deseja.
O texto citado na sua pergunta talvez seja um pouco enganador, mas também está escrito lá que isso afeta apenasparcelas em caixa.
No entanto, dê uma olhada nos comentários no código para obter mais informações.
% used PGFPlots v1.16
\documentclass[border=5pt]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
axis lines=center,
xmin=-5.25,
xmax=5.25,
ymin=-5.25,
ymax=5.25,
xlabel=$x$,
% move the `xlabel` to the right of the arrow
xlabel style={
anchor=west,
},
xtick distance=1,
xtick pos=bottom,
ytick distance=1,
ytick pos=left,
grid=major,
% -----------------------------
% move ticklabels to the "outside"
xticklabel style={
% % hard-coded solution --> dependent of axis scaling/size
% yshift=-82pt,
% relative shifting --> independent of axis scaling/size
shift={(0,0 |- {axis description cs:0,-1})}
},
yticklabel style={
% % hard-coded solution --> dependent of axis scaling/size
% xshift=-100pt,
% relative shifting --> independent of axis scaling/size
shift={(0,0 -| {axis description cs:-0.53,0})}
},
% remove the ticks themselves
% (which are moved as well)
tickwidth=0pt,
% show the "0"s (zeros) again
hide obscured x ticks=false,
hide obscured y ticks=false,
% -----------------------------
% % for testing only to see, if the shifting works independent of
% % axis scaling
% height=10cm,
]
\end{axis}
\end{tikzpicture}
\end{document}