Tengo una figura como esta que tiene 2 subfiguras; ¿Cómo incluir esto en mi otro documento principal? Donde puedo usar \input{figure_name} y esta figura se muestra en mi documento principal.
\documentclass{article}
\usepackage{subcaption}
\usepackage{tikz}
\usepackage{pgfplots}
\usepackage{adjustbox}
\begin{document}
\begin{figure}
\centering
\begin{subfigure}[b]{0.4\textwidth}
\begin{tikzpicture}
\begin{axis}[
trig format=rad, % <---
domain=0:1, % <---
samples=501, % <---
no marks] % <---
\addplot {sin(10*x};
\legend{$\sin(10x)$}
\end{axis}
\end{tikzpicture}
\end{subfigure}
\hfill
\begin{subfigure}[b]{0.4\textwidth}
\begin{tikzpicture}
\begin{axis}[
trig format=rad, % <---
domain=0:1, % <---
samples=501, % <---
no marks] % <---
\addplot {sin(100*x};
\legend{$\sin(100x)$}
\end{axis}
\end{tikzpicture}
\end{subfigure}
\caption{Increasing oscillatory function}
\end{figure}
\end{document}
Respuesta1
Como esto:
Supongo que ambas imágenes tienen la misma axis
configuración, por lo tanto se puede escribir en local \pgfplotsset
y así hacer que el código de la figura sea un poco más corto:
\documentclass{article}
\usepackage{subcaption}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}
\begin{document}
\begin{figure}
\centering
\pgfplotsset{% common settings for both images
width=\linewidth,
scale only axis,
trig format=rad, % <---
domain=0:pi/2, % <---
samples=501, % <---
no marks, % <---
% added,˛
every axis plot post/.append style={semithick},
legend style={font=\footnotesize,
cells={anchor=west}}
}
\begin{subfigure}[b]{0.45\textwidth}
\begin{tikzpicture}
\begin{axis}
\addplot {sin(10*x};
\addplot {sin(25*x)};
\addplot {sin(50*x)};
\legend{$\sin(10x)$,$\sin(25x)$,$\sin(50x)$}
\end{axis}
\end{tikzpicture}
\end{subfigure}
\hfil
\begin{subfigure}[b]{0.45\textwidth}
\begin{tikzpicture}
\begin{axis}
\addplot {sin(100*x)};
\addplot {sin(150*x))};
\addplot {sin(200*x))};
\legend{$\sin(100x)$,$\sin(150x)$,$\sin(200x)$}
\end{axis}
\end{tikzpicture}
\end{subfigure}
\caption{Increasing oscillatory function}
\label{fig:??}
\end{figure}
\end{document}
Como puede ver, si tiene imágenes en paralelo, en el diseño de página dado son bastante más estrechas y, en consecuencia, menos claras. Para mejorar la visibilidad de los diagramas, tienes varias opciones:
- cambiar el diseño de la página con ampliar
\textwidth
- poner una imagen encima de otra
- reducir el dominio en la segunda imagen
Apéndice:
- Me pregunto por qué tus subfiguras no tienen subtítulos.
- Si no los desea, puede considerar usarlos
groupplot
en lugar desubfigures
- En MWE a continuación, se considera:
- dominio de ondas reducido para segundas imágenes
- aumentado
\textwidth
por el uso delgeometry
paquete - para cantidades en títulos de subfiguras se utiliza el paquete ˙siunnitx`Č
\documentclass{article}
\usepackage{geometry} % for setting page layout
\usepackage{siunitx}
\usepackage[font=small]{subcaption}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}
\begin{document}
\begin{figure}
\pgfplotsset{% common settings for both images
width=0.8\linewidth,
scale only axis,
enlargelimits = 0.05,
trig format=rad,
samples=801,
no marks,
% added, for better diagram formating
x tick label style={/pgf/number format/.cd, zerofill, fixed},
every axis plot post/.append style={semithick},
legend style={font=\footnotesize,
cells={anchor=west}}
}
\begin{subfigure}[b]{0.48\textwidth}
\begin{tikzpicture}
\begin{axis}[
domain=0:1, % <---
]
\addplot {sin(10*x};
\addplot {sin(25*x)};
\addplot {sin(50*x)};
\legend{$\sin(10x)$,$\sin(25x)$,$\sin(50x)$}
\end{axis}
\end{tikzpicture}
\caption{Sinus waves on domain \qtyrange{0}{1}{\radian}.}
\end{subfigure}
\hfil
\begin{subfigure}[b]{0.48\textwidth}
\begin{tikzpicture}
\begin{axis}[
domain=0:0.25, % <---
]
\addplot {sin(100*x)};
\addplot {sin(150*x)};
\addplot {sin(200*x)};
\legend{$\sin(100x)$,$\sin(150x)$,$\sin(200x)$}
\end{axis}
\end{tikzpicture}
\caption{Sinus waves on domain \qtyrange{0}{0.25}{\radian}.}
\end{subfigure}
\caption{Increasing oscillatory function}
\label{fig:??}
\end{figure}
\end{document}
\documentclass{article}
\usepackage{geometry} % for setting page layout
\usepackage{siunitx}
\usepackage[font=small]{subcaption}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}
\begin{document}
\begin{figure}
\pgfplotsset{% common settings for both images
width=0.8\linewidth,
scale only axis,
enlargelimits = 0.05,
trig format=rad, % <---
samples=801, % <---
no marks, % <---
% added,
x tick label style={/pgf/number format/.cd, zerofill, fixed},
every axis plot post/.append style={semithick},
legend style={font=\footnotesize,
cells={anchor=west}}
}
\begin{subfigure}[b]{0.48\textwidth}
\begin{tikzpicture}
\begin{axis}[
domain=0:1, % <---
]
\addplot {sin(10*x};
\addplot {sin(25*x)};
\addplot {sin(50*x)};
\legend{$\sin(10x)$,$\sin(25x)$,$\sin(50x)$}
\end{axis}
\end{tikzpicture}
\caption{Sinus waves on domain \qtyrange{0}{1}{\radian}.}
\end{subfigure}
\hfil
\begin{subfigure}[b]{0.48\textwidth}
\begin{tikzpicture}
\begin{axis}[
domain=0:0.25, % <---
]
\addplot {sin(100*x)};
\addplot {sin(150*x)};
\addplot {sin(200*x)};
\legend{$\sin(100x)$,$\sin(150x)$,$\sin(200x)$}
\end{axis}
\end{tikzpicture}
\caption{Sinus waves on domain \qtyrange{0}{0.25}{\radian}.}
\end{subfigure}
\caption{Increasing oscillatory function}
\label{fig:??}
\end{figure}
\end{document}