Размер и расположение подрисунков, отличающихся от исходного размера

Размер и расположение подрисунков, отличающихся от исходного размера

У меня есть рисунок, который имеет три похожих подрисунка и один другого размера (показывающий легенду трех других). У меня возникли проблемы с тем, чтобы размер и размещение в документе выглядели хорошо.

Вот мой текущий код:

\begin{figure}
\begin{subfigure}[b]{0.5\textwidth}
\centering
\includegraphics[width=\textwidth,trim=3mm 4mm 50mm 2mm, clip=true]{./Data_Figures/Coeff_evolution_LS_os.pdf}
\caption{}
\end{subfigure}%
\begin{subfigure}[b]{0.5\textwidth}
\centering
\includegraphics[width=\textwidth,trim=3mm 4mm 50mm 2mm, clip=true]{./Data_Figures/Coeff_evolution_IP_p.pdf}
\caption{}
\end{subfigure}%
\\
\begin{subfigure}[b]{0.5\textwidth}
\centering
\includegraphics[width=\textwidth,trim=3mm 4mm 50mm 2mm, clip=true]{./Data_Figures/Coeff_evolution_LS_p.pdf}
\caption{}
\end{subfigure}%
\begin{subfigure}[b]{0.5\textwidth}
\centering
\includegraphics[width=\textwidth,trim=5cm 1mm 5cm 5.2cm, clip=true]{./Data_Figures/Coeff_evo_legend.pdf}
\end{subfigure}%
\end{figure}

Все фигуры обрезаны настолько, насколько я мог. Это дает следующий результат, где легенда слишком большая:

введите описание изображения здесь

Но затем я пробую, например, изменить последнюю цифру на

\includegraphics[width=0.5\textwidth...]{...}

интервал выключен:

введите описание изображения здесь

Ничего другого, что я пробовал, тоже не сработало. Есть идеи?

решение1

С помощью \sbox{...}вы можете измерить размер левых изображений, а затем разместить свое изображение с легендой по его высоте:

    \documentclass{article}
    \usepackage{subcaption}
    \usepackage{graphicx}

\begin{document}
    \begin{figure}
\begin{subfigure}[b]{0.5\textwidth}
\centering
\includegraphics[width=0.9\textwidth,trim=3mm 4mm 50mm 2mm, clip=true]{example-image-a}
\caption{}
\end{subfigure}%
\begin{subfigure}[b]{0.5\textwidth}
\centering
\includegraphics[width=0.9\textwidth,trim=3mm 4mm 50mm 2mm, clip=true]{example-image-b}
\caption{}
\end{subfigure}

\begin{subfigure}[t]{0.5\textwidth}
\centering
\includegraphics[width=0.9\textwidth,trim=3mm 4mm 50mm 2mm, clip=true]{example-image-c}
\caption{}
\end{subfigure}%
\begin{subfigure}[t]{0.5\textwidth}
\centering
\sbox0{\includegraphics[width=0.9\textwidth,trim=3mm 4mm 50mm 2mm, clip=true]{example-image-c}}%
\includegraphics[height=\ht0,keepaspectratio]{example-image}
\end{subfigure}%
    \end{figure}
\end{document}

Что дает (с использованием example-imageпакета graphicx):

введите описание изображения здесь

При оценке реальных изображений по вашей рассматриваемой картинке ширина картинки с легендой уже, чем у других картинок, поэтому она не будет выступать за пределы ширины текста.

Если соотношение сторон изображения не имеет значения, вы можете ограничить его ширину долей доступной ширины, например:

\includegraphics[width=0.8\textwidth, height=\ht0]{example-image}

В этом случае картина становится такой:

введите описание изображения здесь

Примечание:для позиционирования изображений во втором ряду параметр размещения subfigureизменяется с [b]на [t]. Это было бы хорошо сделать также для подрисунков в первом ряду изображения.

Приложение:Другой способ согласовать изображение с легендой — использовать следующий код для последнего дополнительного изображения:

\begin{subfigure}[t]{0.5\textwidth}
\sbox0{\includegraphics[width=0.9\textwidth,%
                        trim=3mm 4mm 55mm 2.5mm,clip]{./Data_Figures/Coeff_evolution_LS_p}}%
\centering
\framebox{\includegraphics[trim=52mm -3.5ex 52mm 53mm,clip,height=\ht0]{./Data_Figures/Coeff_evo_legend}}
\end{subfigure}%

Учитывая эту часть кода и после соответствующей обрезки ваших исходных изображений, особенно изображений с легендой, мой MWE дает:

введите описание изображения здесь

Рамки вокруг изображений добавлены, чтобы лучше наблюдать обрезку изображений. Конечно, при реальном использовании эти рамки пришлось опустить.

Следует отметить, что измерение высоты изображения учитывает высоту всего изображения (с пустым пространством вокруг него). Учитывая эту высоту, изображение легенды становится слишком высоким, поэтому необходимо добавить пустое пространство под ним, которое имитирует текст под графиком (метки делений, метки осей) на левом изображении. Я оцениваю, что эквивалентная высота равна 3exтому, что я добавляю к значениям обрезки.

Полный код с рамками вокруг изображения:

    \documentclass{article}
    \usepackage{subcaption}
    \usepackage{calc}
    \usepackage{graphicx}

\begin{document}
    \begin{figure}
\begin{subfigure}[b]{0.5\textwidth}
\centering
\framebox{\includegraphics[width=0.9\textwidth,%
                           trim=3mm 4mm 55mm 2.5mm,clip]{./Data_Figures/Coeff_evolution_LS_os}}
\caption{}
\end{subfigure}%
\begin{subfigure}[b]{0.5\textwidth}
\centering
\framebox{\includegraphics[width=0.9\textwidth,%
                           trim=3mm 4mm 55mm 2.5mm,clip]{./Data_Figures/Coeff_evolution_IP_p}}
\caption{}
\end{subfigure}

\bigskip
\begin{subfigure}[t]{0.5\textwidth}
\centering
\framebox{\includegraphics[width=0.9\textwidth,%
                           trim=3mm 4mm 55mm 2.5mm,clip]{./Data_Figures/Coeff_evolution_LS_p}}
\caption{}
\end{subfigure}%
\begin{subfigure}[t]{0.5\textwidth}
\sbox0{\includegraphics[width=0.9\textwidth,%
                        trim=3mm 4mm 55mm 2.5mm,clip]{./Data_Figures/Coeff_evolution_LS_p}}%
\centering
\includegraphics[trim=52mm -3.5ex 52mm 53mm,clip,height=\ht0]{./Data_Figures/Coeff_evo_legend}
\end{subfigure}
    \end{figure}
\end{document}

Из кода видно, что основная проблема заключалась в неправильной обрезке изображения с легендой (в нем слева и сверху было пустое пространство).

решение2

Причина такого смещения легенды заключается в том, что [b]опция среды subfigureуказывает ей выравнивать содержимое по нижнему краю; поэтому нижняя часть легенды находится на том же уровне, что и нижняя часть файла (c).

Если вы хотите выровнять по центрам каждой подфигуры, используйте [c], а если вы хотите выровнять верх каждой подфигуры, используйте [t]:

\documentclass{article}
\usepackage{graphicx}
\usepackage{subcaption}

\begin{document}
    \begin{figure}
    \begin{subfigure}[c]{0.5\textwidth}
    \centering
    \includegraphics[width=\textwidth]{1.png}
    \caption{Foo}
    \end{subfigure}
    \begin{subfigure}[c]{0.5\textwidth}
    \centering
    \includegraphics[width=\textwidth]{2.png}
    \caption{Bar}
    \end{subfigure}
    \end{figure}
\end{document}

выровнен по центру

Связанный контент