![Tikzpicture cambia el entorno de la subfigura](https://rvso.com/image/391696/Tikzpicture%20cambia%20el%20entorno%20de%20la%20subfigura.png)
Me gustaría un eje dibujado con TikZ en la esquina de la cuadrícula de la imagen para ver claramente el aumento de las variables. El MWE a continuación da como resultado la Figura 1. He intentado poner un \linebreak
punto intermedio \end{tikzpicture}
y \foreach \a
el resultado es la Figura 2. Lo ideal es obtener algo como la Figura 3 pero sin el fondo blanco en el tikzpicture
eje, es decir, muy cerca de la primera figura.
\documentclass{article}
\usepackage[demo]{graphics}
\usepackage{tikz}
\usepackage{pgffor}
\usepackage{subcaption}
\begin{document}
\begin{figure}[!htb]
\centering
\begin{tikzpicture}
\draw [->] (0,0) -- (0.5,0) node[right]{\(\sigma_{\theta}\)};
\draw [->] (0,0) -- (0,-0.5) node[below]{\(\sigma_{\phi}\)};
\end{tikzpicture}
\foreach \a in {1,...,2} {
\foreach \b in {1,...,5} {
\begin{subfigure}{.185\textwidth}
\includegraphics[width=\textwidth]{example-image-duck}
\caption{\((\a,\b)\)}
\end{subfigure}
}
\linebreak
}
\end{figure}
\end{document}
Figura 1
Figura 2
figura 3
Respuesta1
Déjame saber si lo siguiente es lo que estás buscando :)
Puedes modificar \vspace{}
y \hspace{}
mover los ejes donde prefieras.
\documentclass{article}
\usepackage[demo]{graphics}
\usepackage{tikz}
\usepackage{pgffor}
\usepackage{subcaption}
\begin{document}
\begin{figure}[!htb]
\hspace{-1cm} %shifts the tikzpicture to the left 1cm
\begin{tikzpicture}
\draw [->] (0,0) -- (0.5,0) node[right]{\(\sigma_{\theta}\)};
\draw [->] (0,0) -- (0,-0.5) node[below]{\(\sigma_{\phi}\)};
\end{tikzpicture}
\vspace{-0.5cm} %pulls the following pictures up half a cm
\begin{center} % Only centers the pictures, not the axes
\foreach \a in {1,...,2} {
\foreach \b in {1,...,5} {
\begin{subfigure}{.185\textwidth}
\includegraphics[width=\textwidth]{example-image-duck}
\caption{\((\a,\b)\)}
\end{subfigure}
}
\linebreak
}
\end{center}
\end{figure}
\end{document}
produce:
Respuesta2
\documentclass{article}
\usepackage{graphics}
\usepackage{tikz}
\usepackage{pgffor}
\usepackage{subcaption}
\usepackage{stackengine}
\begin{document}
\begin{figure}[!htb]
\centering
\savestack\myaxes{\raisebox{-23pt}{%
\begin{tikzpicture}
\draw [->] (0,0) -- (0.5,0) node[right]{\(\sigma_{\theta}\)};
\draw [->] (0,0) -- (0,-0.5) node[below]{\(\sigma_{\phi}\)};
\end{tikzpicture}
}}
\foreach \a in {1,...,2} {
\foreach \b in {1,...,5} {
\begin{subfigure}{.185\textwidth}
\ifnum\a=1\relax
\ifnum\b=1\relax
\stackinset{l}{-15pt}{t}{}{\smash{\myaxes}}{%
\includegraphics[width=\textwidth]{example-image-duck}%
}
\else
\includegraphics[width=\textwidth]{example-image-duck}
\fi
\else
\includegraphics[width=\textwidth]{example-image-duck}
\fi
\caption{\((\a,\b)\)}
\end{subfigure}
}
\linebreak
}
\end{figure}
\end{document}
La siguiente alternativa tiene menos codificación, pero requiere más ejecución, ya que realiza una \stackinset
en cada figura. Sin embargo, el recuadro se pone a cero después del primer uso:
\documentclass{article}
\usepackage{graphics}
\usepackage{tikz}
\usepackage{pgffor}
\usepackage{subcaption}
\usepackage{stackengine}
\begin{document}
\begin{figure}[!htb]
\centering
\savestack\myaxes{\raisebox{-23pt}{%
\begin{tikzpicture}
\draw [->] (0,0) -- (0.5,0) node[right]{\(\sigma_{\theta}\)};
\draw [->] (0,0) -- (0,-0.5) node[below]{\(\sigma_{\phi}\)};
\end{tikzpicture}
}}
\foreach \a in {1,...,2} {
\foreach \b in {1,...,5} {
\begin{subfigure}{.185\textwidth}
\stackinset{l}{-15pt}{t}{}{\smash{\myaxes}}{%
\includegraphics[width=\textwidth]{example-image-duck}%
}
\global\let\myaxes\relax
\caption{\((\a,\b)\)}
\end{subfigure}
}
\linebreak
}
\end{figure}
\end{document}
Esta tercera alternativa pone a cero el significado de \stackinset
después del primer uso y lo restablece después de la figura. Por lo tanto, su ejecución es más eficiente que la alternativa anterior y aún requiere menos codificación que la solución proporcionada originalmente.
\documentclass{article}
\usepackage{graphics}
\usepackage{tikz}
\usepackage{pgffor}
\usepackage{subcaption}
\usepackage{stackengine}
\let\svstackinset\stackinset
\newcommand\zerostackinset{\gdef\stackinset##1##2##3##4##5##6{##6}}
\begin{document}
\begin{figure}[!htb]
\centering
\savestack\myaxes{\raisebox{-23pt}{%
\begin{tikzpicture}
\draw [->] (0,0) -- (0.5,0) node[right]{\(\sigma_{\theta}\)};
\draw [->] (0,0) -- (0,-0.5) node[below]{\(\sigma_{\phi}\)};
\end{tikzpicture}
}}
\foreach \a in {1,...,2} {
\foreach \b in {1,...,5} {
\begin{subfigure}{.185\textwidth}
\stackinset{l}{-15pt}{t}{}{\smash{\myaxes}}{%
\includegraphics[width=\textwidth]{example-image-duck}%
}
\zerostackinset
\caption{\((\a,\b)\)}
\end{subfigure}
}
\linebreak
}
\end{figure}
\let\stackinset\svstackinset
\end{document}