使用 minipage 制作的三个“并排”图形

使用 minipage 制作的三个“并排”图形

我正在尝试设置一个包含三个子图的主图。我们的想法是将它们拆分成两列图,其中第二列由两个位于行配置中的子图组成。这可能很难想象,但这个想法是得到这样的结果:

在此处输入图片描述 其中每个子图都有自己的标签和标题。

我最接近的尝试是使用数组/小页面配置。这是:

 \documentclass[11pt,a4paper,oneside]{article}
    \usepackage{array}
    \usepackage{caption}
    \usepackage{subfigure}
    \begin{document}
        \begin{center}
\begin{figure}
\begin{array}{cc}
\multirow{2}{*}{
\begin{minipage}[b]{0.45\linewidth}
\centering
\includegraphics[scale=0.6]{smiley.eps}
\caption{Happy Smiley}
\label{fig:minipage1}
\end{minipage}} 
& 
\begin{minipage}[b]{0.45\linewidth}
\centering
\includegraphics[scale=0.3]{smiley.eps}
\caption{Happy Smiley}
\label{fig:minipage1}
\end{minipage}\\
&
\begin{minipage}[b]{0.45\linewidth}
\centering
\includegraphics[scale=0.3]{smiley.eps}
\caption{Happy Smiley}
\label{fig:minipage1}
\end{minipage}
\end{array}
\end{figure}
\end{center}
    \end{document}

但结果并不好。 在此处输入图片描述

那么,这是正确的方法吗?还是我应该尝试一些不同的方法?

提前致谢。

答案1

我理解这三个子图应该编号为 a、b 和“c”。这可以借助软件包来完成subcaption

以下是可能实现的模型。显然,您需要决定诸如子图的相对宽度之类的事情。

在此处输入图片描述

\documentclass{article}
\usepackage[demo]{graphicx}
\usepackage{subcaption}
\begin{document}
\begin{figure}
%% left-hand side: a single subfigure
\begin{subfigure}{0.33\textwidth}
\includegraphics[width=\linewidth,height=4in]{fig1}
\caption{First subfigure} \label{subfig:left}
\end{subfigure}
%% horizontal separation between the left and right hand sides
\hspace*{\fill}
%% right-hand side: a minipage that contains two more subfigures
\begin{minipage}{0.64\textwidth}
\begin{subfigure}{\linewidth}
\includegraphics[width=\linewidth,height=1.75in]{fig2}
\caption{Second subfigure} \label{subfig:upper-right}
\end{subfigure}

\vspace*{0.6cm}
\begin{subfigure}{\linewidth}
\includegraphics[width=\linewidth,height=1.75in]{fig3}
\caption{Third subfigure} \label{subfig:lower-right}
\end{subfigure}
\end{minipage}

\caption{A complicated figure}
\end{figure}

A cross-reference to subfigure \ref{subfig:upper-right}.
\end{document}

附录:如果您想要获得反向布局,即将两个堆叠的子图放在左侧,将单个高子图放在右侧,您只需交换上例中左侧和右侧代码组的顺序。

答案2

按照使用 s 的想法,minipage您可以简单地使用两个小页面作为两列,并在右侧包含两个图像:

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

\begin{document}
\begin{figure}
    \centering
    \begin{minipage}[b]{0.45\linewidth}
        \centering
        \includegraphics[width=\textwidth,height=135pt]{image1}
        \caption{figure1}
    \end{minipage}
    \begin{minipage}[b]{0.45\linewidth}
        \centering
        \includegraphics[width=\textwidth,height=50pt]{image2}
        \caption{figure2}\par
        \vspace{\baselineskip}
        \includegraphics[width=\textwidth,height=50pt]{image3}
        \caption{figure3}
    \end{minipage}
\end{figure}
\end{document}

或者只有一个标题:\documentclass{article} \usepackage[demo]{graphicx} \usepackage{caption,subcaption}

\begin{document}
\begin{figure}
    \centering
    \begin{minipage}[b]{0.45\linewidth}
        \centering
        \includegraphics[width=\textwidth,height=106pt]{image1}
    \end{minipage}
    \begin{minipage}[b]{0.45\linewidth}
        \centering
        \includegraphics[width=\textwidth,height=50pt]{image2}\par\vspace{5pt}
        \includegraphics[width=\textwidth,height=50pt]{image3}
    \end{minipage}
    \caption{some black boxes}
\end{figure}

\end{document}

相关内容