子图形的特殊排列

子图形的特殊排列

我需要一个按这种方式排列的五个子图的图像。

在此处输入图片描述

我曾尝试使用 subfig 和 floatrow,但无法按照需要放置图形

答案1

minipage您可以使用s 和subfigure环境的组合(来自副标题包);一个小例子:

\documentclass{article}
\usepackage[demo]{graphicx}
\usepackage{caption}
\usepackage{subcaption}

\begin{document}

\begin{figure}
\begin{minipage}{.33\textwidth}
  \begin{subfigure}{\linewidth}
    \centering
    \includegraphics[width=.7\linewidth]{name1}
    \caption{First subfigure}
    \label{fig:sub1}
  \end{subfigure}\\[1ex]
  \begin{subfigure}{\linewidth}
    \centering
    \includegraphics[width=.7\linewidth]{name2}
    \caption{Second subfigure}
    \label{fig:sub2}
  \end{subfigure}
\end{minipage}%
\begin{minipage}{.33\textwidth}
  \begin{subfigure}{\linewidth}
    \centering
    \includegraphics[width=.7\linewidth]{name3}
    \caption{Third subfigure}
    \label{fig:sub3}
  \end{subfigure}
\end{minipage}%
\begin{minipage}{.33\textwidth}
  \begin{subfigure}{\linewidth}
    \centering
    \includegraphics[width=.7\linewidth]{name4}
    \caption{Fourth subfigure}
    \label{fig:sub4}
  \end{subfigure}\\[1ex]
  \begin{subfigure}{\linewidth}
    \centering
    \includegraphics[width=.7\linewidth]{name5}
    \caption{Fifth subfigure}
    \label{fig:sub5}
  \end{subfigure}
\end{minipage}
\caption{Five subfigures}
\label{fig:test}
\end{figure}

\end{document}

在此处输入图片描述

我使用包demo中的选项graphicx将实际图形替换为黑色矩形,并使我的代码可供所有人编译;不是在实际代码中使用该选项。

答案2

你可以使用三个minipage相邻的 s:

在此处输入图片描述

\documentclass{article}

\usepackage{caption,subcaption}
\begin{document}
\begin{figure}
\centering
\begin{minipage}{0.3\textwidth}
\subcaptionbox{A}{\rule{3cm}{3.5cm}}\\[1ex]
\subcaptionbox{B}{\rule{3cm}{3.5cm}}
\end{minipage}%
\begin{minipage}{0.3\textwidth}
\subcaptionbox{C}{\rule{3cm}{3.5cm}}
\end{minipage}%
\begin{minipage}{0.3\textwidth}
\subcaptionbox{D}{\rule{3cm}{3.5cm}}\\[1ex]
\subcaptionbox{E}{\rule{3cm}{3.5cm}}
\end{minipage}
\caption{Pictures!}
\end{figure}

\end{document}

答案3

使用subfig包裹您可以使用tabulars 来排列图像:

在此处输入图片描述

\documentclass{article}
\usepackage{subfig}% http://ctan.org/pkg/subfig
\begin{document}
\begin{figure}[ht]
  \begin{tabular}{c}
    \subfloat[subfigure 1]{\rule{100pt}{50pt}} \\
    \subfloat[subfigure 2]{\rule{100pt}{50pt}}
  \end{tabular} \hfill
  \begin{tabular}[m]{c}
    \subfloat[subfigure 3]{\rule{100pt}{50pt}}
  \end{tabular} \hfill
  \begin{tabular}{c}
    \subfloat[subfigure 4]{\rule{100pt}{50pt}} \\
    \subfloat[subfigure 5]{\rule{100pt}{50pt}}
  \end{tabular}
  \caption{bla bla bla bla bla bla}
\end{figure}
\end{document}

使用iddle的可选tabular参数可获得子图的垂直对齐。按照建议使用 会将子图的列推到文本块的外边缘。如果您希望这些列间距均匀,请在第一列的左侧和最后一列的右侧使用 。或者,也可以使用固定间距,其中是任何可识别的 TeX 长度。[m]m\hfill\null\hfill\hfill\null\hspace{<len>}<len>

tabular列规范必然会在列之间添加一点水平空间\tabcolsep。如果您希望删除它(无论出于何种原因),您可以使用{@{}c@{}}列规范代替{c}

相关内容