28

I want to place three figures like this on the page:

(a) (b)
  (c)

How do I achieve this using subfloat or any other method in LaTeX? The three figures need to have a common caption and label.

I have tried this:

\begin{figure}[h]
\centering
\begin{tabular}{c c}
\subfloat[] { \includegraphics[scale=0.4]{1.pdf} }
&
\subfloat[] { \includegraphics[scale=0.4]{2.pdf} }
\\
\multicolumn{2}{c}
\subfloat[] { \includegraphics[scale=0.6]{3.pdf} }
\end{tabular}
\caption{Some caption}
\label{some-label}
\end{figure}

But, this is displaying [] for the third figure instead of (c). Also it displays [] to one side of the page instead of center.

4 Answers 4

27

If I understand what you would like, then one method would be to use a couple of minipages and the subfig package. Spacing etc. could be adjusted to your needs:

enter image description here

\documentclass{article}
\usepackage{mwe}
\usepackage{subfig}
\begin{document}

\begin{figure}

\begin{minipage}{.5\linewidth}
\centering
\subfloat[]{\label{main:a}\includegraphics[scale=.5]{example-image-a}}
\end{minipage}%
\begin{minipage}{.5\linewidth}
\centering
\subfloat[]{\label{main:b}\includegraphics[scale=.5]{example-image-b}}
\end{minipage}\par\medskip
\centering
\subfloat[]{\label{main:c}\includegraphics[scale=.5]{example-image-c}}

\caption{my fig}
\label{fig:main}
\end{figure}

\end{document}
0
37

Here's a possible solution using the subfigure environment from the subcaption package:

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

\begin{document}

\begin{figure}
\begin{subfigure}{.5\linewidth}
\centering
\includegraphics{image1}
\caption{}
\label{fig:sub1}
\end{subfigure}%
\begin{subfigure}{.5\linewidth}
\centering
\includegraphics{image2}
\caption{}
\label{fig:sub2}
\end{subfigure}\\[1ex]
\begin{subfigure}{\linewidth}
\centering
\includegraphics{image3}
\caption{}
\label{fig:sub3}
\end{subfigure}
\caption{Three subfigures}
\label{fig:test}
\end{figure}

As we can see in Figures~\ref{fig:sub1}, \ref{fig:sub2}, and~\ref{fig:sub3}...

\end{document}

enter image description here

The demo option for graphicx was only used to replace actual figures with black rectangles. Do not use that option in your actual document,

2
  • Hi, thanks. I upvoted. Is there a way for me to place the labels a, b and c on left of the figures instead of the bottom?
    – user25957
    Aug 31, 2017 at 20:41
  • Nice thanks. In my document it only worked, when i DON'T use \centering in the 1st and 2nd subfigure. Just in the last subfigure.
    – Carlos
    Feb 26, 2018 at 14:10
7

Using a linebreak (similar to Gonzalo's answer) the subfig package does the trick even without minipages.

\documentclass{article}
\usepackage{subfig}
\usepackage[demo]{graphicx}

\begin{figure}[ht]%
 \centering
 \subfloat[]{\includegraphics{UEB01-repograph1.pdf}\label{fig:a}}%
 \subfloat[]{\includegraphics{UEB01-repograph2.pdf}\label{fig:b}}\\
 \subfloat[]{\includegraphics{UEB01-repograph3.pdf}\label{fig:c}}%
 \caption{Some caption}%
 \label{some-label}%
\end{figure}

\end{document}

Example There might be drawbacks I don't know about in more complex scenarios.

3

I generally use $\begin{array} FIGURES \end{array}$ to insert many graphs in one figure... No need for extra packages:

\begin{figure*}[t!]
$\begin{array}{rl}
    \includegraphics[width=0.5\textwidth]{FIGURE_1.pdf} &
    \includegraphics[width=0.5\textwidth]{FIGURE_2.pdf}\\
    \multicolumn{2}{c}{\includegraphics[width=0.5\textwidth]{FIGURE_3.pdf}}
\end{array}$
\caption[My beautiful figure.]{\label{fig:label}My beautiful figure}
\end{figure*}
3
  • Why not using the array equivalent for text? It would be tabular.
    – Johannes_B
    Aug 27, 2016 at 13:06
  • What about subcaptions?
    – M--
    Jul 17, 2018 at 1:49
  • For subcations I would use minipage I think
    – Girardi
    Jul 19, 2018 at 22:10

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .