10 个图形的子图环境

10 个图形的子图环境

我正在尝试使用 subfigure 环境放置 10 个图形。我使用 4x3 matricx 来执行此操作...但最后一个图形出现在页面底部,而不是进入新页面。

我们能做什么?

\begin{figure}[H]
\centering
\begin{subfigure}[b]{0.25\textwidth}
    \centering
    \input{Figures_matlab/md_1}
    \caption{Mode-1}
    \label{fig:m1}
\end{subfigure}
    \hspace{1cm}
\begin{subfigure}[b]{0.25\textwidth}
    \centering
    \input{Figures_matlab/md_2}
    \caption{Mode-2}
    \label{fig:m2}
\end{subfigure}
        \hspace{1cm}
\begin{subfigure}[b]{0.25\textwidth}
    \centering
    \input{Figures_matlab/md_3}
    \caption{Mode-3}
    \label{fig:m3}
\end{subfigure}\\
 \vspace{1cm}
\begin{subfigure}[b]{0.25\textwidth}
    \centering
    \input{Figures_matlab/md_4}
    \caption{Mode-4}
    \label{fig:m4}
\end{subfigure}
\hspace{1cm}
\begin{subfigure}[b]{0.25\textwidth}
    \centering
    \input{Figures_matlab/md_5}
    \caption{Mode-5}
    \label{fig:m5}
\end{subfigure}
\hspace{1cm}
\begin{subfigure}[b]{0.25\textwidth}
    \centering
    \input{Figures_matlab/md_6}
    \caption{Mode-6}
    \label{fig:m6}
\end{subfigure}\\
\vspace{1cm}
\begin{subfigure}[b]{0.25\textwidth}
    \centering
    \input{Figures_matlab/md_7}
    \caption{Mode-7}
    \label{fig:m7}
\end{subfigure}
\hspace{1cm}
\begin{subfigure}[b]{0.25\textwidth}
    \centering
    \input{Figures_matlab/md_8}
    \caption{Mode-8}
    \label{fig:m8}
\end{subfigure}
\hspace{1cm}
\begin{subfigure}[b]{0.25\textwidth}
    \centering
    \input{Figures_matlab/md_9}
    \caption{Mode-9}
    \label{fig:m9}
\end{subfigure}
  \newpage
\begin{subfigure}[b]{0.25\textwidth}
    \centering
    \input{Figures_matlab/md_10}
    \caption{Mode-10}
    \label{fig:m10}
\end{subfigure}
  \caption{Mode shapes 1-10}
\label{md_shps}
\end{figure}[enter image description here][1]

答案1

类似的问题在这里经常出现(TeX.Se 网站),因此它可能会被指定为重复......

你的最后一幅图必须是位于其他子图的底部,因为它们都在同一个浮点数中。浮动不能跨越两页!如果你想让最后一张图片出现在下一页,那么你必须图形:在第一个 3 x 3 图像中,最后一个在第二个图像中。但你为什么要这样做呢?即使你像我一样放大它们,也有足够的空间将所有图像放在同一页上:

在此处输入图片描述

您还可以使用图像稍微减少行之间的空间(现在对我来说太大了)。由于我没有您的图像,我使用example-imagefrom 包mwe来模拟它们。

代码对您的代码进行了轻微修改。主要区别在于我删除了其中的(在您的情况下毫无用处的)\newpage命令:

\documentclass{article}
\usepackage{graphicx,subcaption}
\usepackage[showframe]{geometry}

\begin{document}
\begin{figure}[htbp]
\centering
\begin{subfigure}[b]{0.3\textwidth}
    \centering
    \includegraphics[width=0.95\hsize]{example-image}
    \caption{Mode-1}
    \label{fig:m1}
\end{subfigure}
    \hfil
\begin{subfigure}[b]{0.3\textwidth}
    \centering
    \includegraphics[width=0.95\hsize]{example-image}
    \caption{Mode-2}
    \label{fig:m2}
\end{subfigure}
        \hfil
\begin{subfigure}[b]{0.3\textwidth}
    \centering
    \includegraphics[width=0.95\hsize]{example-image}
    \caption{Mode-3}
    \label{fig:m3}
\end{subfigure}

    \vspace{1cm}
\begin{subfigure}[b]{0.3\textwidth}
    \centering
    \includegraphics[width=0.95\hsize]{example-image}
    \caption{Mode-4}
    \label{fig:m4}
\end{subfigure}
\hfil
\begin{subfigure}[b]{0.3\textwidth}
    \centering
    \includegraphics[width=0.95\hsize]{example-image}
    \caption{Mode-5}
    \label{fig:m5}
\end{subfigure}
\hfil
\begin{subfigure}[b]{0.3\textwidth}
    \centering
    \includegraphics[width=0.95\hsize]{example-image}
    \caption{Mode-6}
    \label{fig:m6}
\end{subfigure}

\vspace{1cm}
\begin{subfigure}[b]{0.3\textwidth}
    \centering
    \includegraphics[width=0.95\hsize]{example-image}
    \caption{Mode-7}
    \label{fig:m7}
\end{subfigure}
\hfil
\begin{subfigure}[b]{0.3\textwidth}
    \centering
    \includegraphics[width=0.95\hsize]{example-image}
    \caption{Mode-8}
    \label{fig:m8}
\end{subfigure}
\hfil
\begin{subfigure}[b]{0.3\textwidth}
    \centering
    \includegraphics[width=0.95\hsize]{example-image}
    \caption{Mode-9}
    \label{fig:m9}
\end{subfigure}

\vspace{1cm}
\begin{subfigure}[b]{0.3\textwidth}
    \centering
    \includegraphics[width=0.95\hsize]{example-image}
    \caption{Mode-10}
    \label{fig:m10}
\end{subfigure}
  \caption{Mode shapes 1-10}
\label{md_shps}
\end{figure}
\end{document}

相关内容