Lo que estoy tratando de lograr:
Básicamente quiero acercarme lo más posible a esta imagen:
Tenga en cuenta que las líneas del eje están centradas pero que las etiquetas de marca están en el exterior (similar al estilo del eje en cuadro).
Lo que tengo hasta ahora:
\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 puede ver, las marcas en sí se movieron hacia la izquierda y hacia abajo según lo especificado por xticklabel pos=bottom
y yticklabel pos=left
.
Nótese que, según elManual de PGFPlots Revisión 1.16, sección 4.15.2 (Alineación de ticks: posiciones y cambios):
Los cambios
tick pos
también afectarán la ubicación de las etiquetas de marca.
Sin embargo, este no parece ser el caso aquí.
Respuesta1
Aquí te muestro una posible solución para lograr lo que deseas.
El texto citado en su pregunta puede ser un poco engañoso, pero también está escrito que esto sólo afectaparcelas en caja.
Sin embargo, eche un vistazo a los comentarios del código para obtener más información.
% 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}