원본 크기가 다른 하위 그림의 크기 및 배치

원본 크기가 다른 하위 그림의 크기 및 배치

세 개의 유사한 하위 그림과 크기가 다른 하나(다른 세 개의 범례 표시)가 있는 그림이 있습니다. 문서의 크기와 위치를 보기 좋게 만드는 데 문제가 있습니다.

이것은 내 현재 코드입니다.

\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}

가운데 정렬

관련 정보