2

I need a subfigure (2x2) for a scientifix paper! The figures are made in matplotlib.pyplot (pdf, figsize=(14, 7)). Under each subfigure should be a label (a), (b), (c), (d).

I would like to scale them in a way, so that the subfigure covers the whole width.

Would be great if you could help me (or provide me a template/link) :)

  • Which document class do you use? (Not all subfigure-related packages and macros are compatible with all document classes...) Also, what are some of the formatting aspects -- e.g., one-column or two-coiumn?; width and height of textblock? -- of your document? – Mico Oct 23 '16 at 16:02
  • Thank you very much for your reply! I use the "elsarticle" documentclas. I would like to have 2 columns (similar to: i.stack.imgur.com/LbOaj.png) – Math_reald Oct 23 '16 at 18:28
3

Some suggestions, in no particular order:

  • Use a figure* environment to span both columns of text.

  • Use subfigure environments to encase the graphs and associated captions. Choose the widths of the subfigures to satisfy your preferences and requirements. (For the code below, I've assume the four graphs are stored in files named a.pdf, b.pdf, c.pdf and d.pdf.)

  • Use another \caption command to describe the overall contents of the figure.


% Select '5p' or '3p' option according to your journal's requirements.
% Omit the 'demo' option in real document.
\documentclass[3p,twocolumn,demo]{elsarticle} 
\usepackage{lipsum}    % "\lipsum" for filler text
\usepackage{graphicx}  % for "\includegraphics" macro
\usepackage{subcaption}% for "subfigure" environment
\begin{document}

\lipsum[1-3] % filler text

\begin{figure*}  % spans both columns
\begin{subfigure}{0.45\textwidth}
\includegraphics[width=\linewidth]{a.pdf}
\caption{Network 1}
\end{subfigure}
\hfill % maximize the horizontal distance between the graphs
\begin{subfigure}{0.45\textwidth}
\includegraphics[width=\linewidth]{b.pdf}
\caption{Network  2}
\end{subfigure}

\bigskip  % some extra vertical whitespace
\begin{subfigure}{0.45\textwidth}
\includegraphics[width=\linewidth]{c.pdf}
\caption{Network  3}
\end{subfigure}
\hfill % maximize the horizontal distance between the graphs
\begin{subfigure}{0.45\textwidth}
\includegraphics[width=\linewidth]{d.pdf}
\caption{Network  4}
\end{subfigure}

\caption{Averages and standard deviations} % Overall figure caption
\end{figure*}

\lipsum[4-17] % more filler text

\end{document}

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.