水平子图的对齐

水平子图的对齐

我有三张图片subfigure。两张图片对齐得很好,第一张没有对齐。所有图片都是相同尺寸(519x346 像素)。

它看起来是这样的:

未对齐的图像

如果可能的话,我想将(a)(图像和标题)排列起来,就像(b)和那样(c)
这是生成当前看到的图像的代码:

\documentclass[11pt]{report} 
\usepackage[pdftex, demo]{graphicx}
\usepackage{caption}
\usepackage{subcaption}

\begin{document}
\begin{figure}[htbp]
    \centering
    \begin{subfigure}[h]{0.3\textwidth}
        \includegraphics[width=\textwidth]{../Images/GloveOfDoom/RFIDTag_Testing_Side_s}
        \label{rfidtest_xaxis}
        \caption{Testing of the X-axis.}
    \end{subfigure}
    \begin{subfigure}[h]{0.3\textwidth}
        \includegraphics[width=\textwidth]{../Images/GloveOfDoom/RFIDTag_Testing_Vertical_s}
        \caption{Testing of the Y-axis.}
        \label{rfidtest_yaxis}
    \end{subfigure}
    \begin{subfigure}{0.3\textwidth}
        \includegraphics[width=\textwidth]{../Images/GloveOfDoom/RFIDTag_Testing_Other_s}
        \caption{Testing of the Z-axis.}
        \label{rfidtest_zaxis}
    \end{subfigure}
    \caption[RFID tag read-range testing]{RFID tag read-range testing setup. In all tests, the finger moves towards along an axis towards the tag.}
    \label{rfidtag_testing}
\end{figure}
\end{document}

答案1

首先,环境的可选参数subfigure与 相同minipage,所以如果我没记错的话,是t(op)、c(enter) 或(ottom),我认为这指定了子图的“锚点”。因此,不执行任何操作。bh

其次,在第一个子图中,您将标签放在标题之前,这在它们之间产生了额外的空间(我不确定为什么会发生这种情况)。无论如何,标签应该始终位于标题之后或标题之内,以获得正确的交叉引用。

最后,graphicx通常会自行确定要使用哪个驱动程序,因此无需指定pdftex(参见 Benedikt Bauer 的评论)。

在此处输入图片描述

\documentclass[11pt]{report} 
\usepackage[demo]{graphicx}
\usepackage{caption}
\usepackage{subcaption}

\begin{document}
\begin{figure}[htbp]
    \centering
    \begin{subfigure}[b]{0.3\textwidth}
        \includegraphics[width=\textwidth]{../Images/GloveOfDoom/RFIDTag_Testing_Side_s}
        \caption{Testing of the X-axis.}
        \label{rfidtest_xaxis}
    \end{subfigure}
    \begin{subfigure}[b]{0.3\textwidth}
        \includegraphics[width=\textwidth]{../Images/GloveOfDoom/RFIDTag_Testing_Vertical_s}
        \caption{Testing of the Y-axis.}
        \label{rfidtest_yaxis}
    \end{subfigure}
    \begin{subfigure}[b]{0.3\textwidth}
        \includegraphics[width=\textwidth]{../Images/GloveOfDoom/RFIDTag_Testing_Other_s}
        \caption{Testing of the Z-axis.}
        \label{rfidtest_zaxis}
    \end{subfigure}
    \caption[RFID tag read-range testing]{RFID tag read-range testing setup. In all tests, the finger moves towards along an axis towards the tag.}
    \label{rfidtag_testing}
\end{figure}
\end{document}

答案2

\caption和命令的顺序\label混乱。如果您总是使用:

\includegraphics[]{}
\caption{}
\label{}

标题与图像空间的比值不是太大。这适用于您的示例。但是,如果标题跨越的行数不同,则又会混淆。

答案3

我有 3 个图表,轴尺寸相同,但都存在这个问题。只是使用了子图。我发现垂直错位是由 xlabel 值引起的。两个图表的 xlabel 为“已用时间”,另一个为“x”。单词“elapsed”有升序的“l”和降序的“p”,因此需要比“x”更多的垂直空间。“$x$”也略有不同。我不太优雅的解决方案是使用 \xlabelstye={...at..} 强制 xlabel 远离轴一点,这样轴就可以对齐了。

顺便说一句,子图标题似乎总是离图表本身太远,所以我必须使用 \vspace{-nnpt} 来获得正确的分离。

相关内容