当没有标题时,子图会出现在不同的行上

当没有标题时,子图会出现在不同的行上

我有三个子图连成一行,并明确设置了它们的高度,因为前两个子图的宽度不同,但需要显示相同的高度。第三个子图需要标题(它只是一个图例),但如果我省略它的图例,它将出现在与其他两个不同的行上。

更令人困惑的是,它出现在多于前两个子图(尽管它是最后一个子图)。代码如下:

\begin{figure}[t!]
    \setlength{\subfigheight}{16em}
    \centering
    \begin{subfigure}[t]{0.45\textwidth}
        \centering
        \caption{caption1}
        \includegraphics[height=\subfigheight]{figures/VectorCorrelations0.pdf}
        \label{fig:vector_corr0}
    \end{subfigure}%
    \begin{subfigure}[t]{0.45\textwidth}
        \centering
        \caption{caption2}
        \includegraphics[height=\subfigheight]{figures/VectorCorrelations1.pdf}
        \label{fig:vector_corr1}
    \end{subfigure}%
    \begin{subfigure}[t]{0.05\textwidth}
        \centering
        %\caption{I don't want this caption}
        \includegraphics[height=0.83\subfigheight]{figures/VectorCorrelationsColorbar.pdf}
        \label{fig:vector_corr1}
    \end{subfigure}%
    \caption{TODO do this caption}
    \label{fig:vector_correlations}
\end{figure}

如果我取消注释该行\caption{I don't want this caption},问题就解决了,但现在我有一个不想要的标题。

答案1

subfigure您可以使用底部对齐。可以使用附加可选参数(实际上是minipage)将第三个窄图形的顶层设置为其他两个图像。

在示例中,我设置了图像的宽度,因为我不知道你的图像有多宽。

\documentclass{article}
\usepackage{subcaption}

\usepackage[demo]{graphicx}

\newlength{\subfigheight}

\begin{document}
\begin{figure}[tp!]
\setlength{\subfigheight}{16em}
\centering
\begin{subfigure}[b]{0.45\textwidth}
  \centering
  \caption{caption1}
  \label{fig:vector_corr0}

  \includegraphics[height=\subfigheight,width=.9\textwidth]{figures/VectorCorrelations0.pdf}
\end{subfigure}%
\begin{subfigure}[b]{0.45\textwidth}
  \centering
  \caption{caption2}
  \label{fig:vector_corr1}

  \includegraphics[height=\subfigheight,width=.9\textwidth]{figures/VectorCorrelations1.pdf}
\end{subfigure}%
\begin{subfigure}[b][\subfigheight][t]{0.05\textwidth}
  \centering
  \includegraphics[height=0.83\subfigheight,width=\textwidth]{figures/VectorCorrelationsColorbar.pdf}
\end{subfigure}

\caption{TODO do this caption}
\label{fig:vector_correlations}
\end{figure}
\end{document}

在此处输入图片描述

如果希望图例相对于两个图像垂直居中,请更改

\begin{subfigure}[b][\subfigheight][t]{0.05\textwidth}

进入

\begin{subfigure}[b][\subfigheight][c]{0.05\textwidth}

相关内容