У меня есть такой рисунок, который имеет 2 подрисунка; как включить это в мой другой основной документ? Где я могу использовать \input{figure_name} и этот рисунок будет показан в моем родительском документе.
\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}
решение1
Так:
Я предполагаю, что оба изображения имеют одинаковые axis
настройки, поэтому их можно написать локально \pgfplotsset
и тем самым сделать код рисунка немного короче:
\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}
Как вы можете видеть, если у вас есть изображения параллельно, они при данной разметке страницы довольно узкие и, следовательно, менее четкие. Чтобы улучшить видимость диаграмм, у вас есть несколько вариантов:
- изменить макет страницы с увеличением
\textwidth
- поместите одно изображение над другим
- уменьшить домен на втором изображении
Приложение:
- Интересно, почему у ваших подрисунков нет подписей?
- если они нежелательны, вы можете рассмотреть возможность использования
groupplot
вместоsubfigures
- В MWE ниже рассматривается:
- уменьшенная область волн для вторых изображений
- увеличилось
\textwidth
за счет использованияgeometry
пакета - для величин в подписях к подрисункам используется пакет ˙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}