20

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.

17

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}
27

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,

  • 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 '17 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 '18 at 14:10
2

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*}
  • Why not using the array equivalent for text? It would be tabular. – Johannes_B Aug 27 '16 at 13:06
  • What about subcaptions? – M-- Jul 17 '18 at 1:49
  • For subcations I would use minipage I think – Girardi Jul 19 '18 at 22:10
2

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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.