如何使 3x3 子图的图像大小相同

如何使 3x3 子图的图像大小相同

在此处输入图片描述在下面的代码中,我在 matlab 中分别生成了每幅图像并将其保存为 .eps。然后,我使用此代码将所有九幅图像组合成 3x3。但是,它们的高度和宽度看起来不同!我该如何解决这样的问题?我无法在 powerpoint 中处理 .eps 图像 !!!。此外,我希望这组子图填满整个页面,但它只填满了页面的一半,我真的希望它们看起来更大。任何帮助都值得感激。提前致谢。

 \begin{figure}
        \centering
        \subfloat\[\]\[\emph{caption pic. 1}.\]
        {\includegraphics\[width=.3\textwidth\]{10t10w125x300y}} \quad
        \subfloat\[\]\[\emph{caption pic. 2}.\]
        {\includegraphics\[width=.3\textwidth\]{10t40w250x400y}} \quad
        \subfloat\[\]\[\emph{caption pic. 3}.\]
        {\includegraphics\[width=.3\textwidth\]{10t100w340x500y}} \\
        \subfloat\[\]\[\emph{caption pic. 4}.\]
        {\includegraphics\[width=.3\textwidth\]{30t10w200x400y}} \quad
        \subfloat\[\]\[\emph{caption pic. 5}.\]
        {\includegraphics\[width=.3\textwidth\]{30t40w350x750y}} \quad
        \subfloat\[\]\[\emph{caption pic. 6}.\]
        {\includegraphics\[width=.3\textwidth\]{30t100w550x1200y}} \\
        \subfloat\[\]\[\emph{caption pic. 7}.\]
        {\includegraphics\[width=.3\textwidth\]{50t10w300x600y}} \quad
        \subfloat\[\]\[\emph{caption pic. 8}.\]
        {\includegraphics\[width=.3\textwidth\]{50t40w600x1100y}} \quad
        \subfloat\[\]\[\emph{caption pic. 9}.\]
        {\includegraphics\[width=.3\textwidth\]{50t100w600x1500y}}
        \caption{Insert caption.}
        \label{fig:subfig}
        \end{figure}][1]

答案1

测量其中一张图片的高度,并将其用于其余图片的高度。

\documentclass{article}
\usepackage{graphicx}
\usepackage{subfig}

\newlength{\common}

\begin{document}
\noindent\rule{\textwidth}{1pt}
\begin{figure}[htp]
\settoheight{\common}{\includegraphics[width=.3\textwidth]{example-image}}% get height
\subfloat[picture 1]{\includegraphics[width=.3\textwidth,height=\common]{example-image}}\hfill
\subfloat[picture 2]{\includegraphics[width=.3\textwidth,height=\common]{euclid-1.jpg}}\hfill
\subfloat[picture 3]{\includegraphics[width=.3\textwidth,height=\common]{images/supper.png}}
\end{figure}
\end{document}

在此处输入图片描述

答案2

对于图像大小,您可以阅读 Mike Renfro 的评论。如果 Matlab 没有生成相同大小的图像,您只能通过以下方式调整它们的大小:

\includegraphics[width=0.32\hize,height=0.32\hsize]{your image}

但这会改变图像的原始纵横比,因此它们会变得非常丑陋。如果您的纸张尺寸为 A$,则其高度是宽度的 1,441 倍。如果您的图像具有相同的纵横比,那么它们将更好地填满页面,就像它们是正方形一样。

解决此问题的一种方法是局部扩大文本宽度。例如,借助 changepage 包。只需在序言中添加

\usepackage[strict]{changepage}

并将图片内容放入

\begin{adjustwidth*}{}{-<some size>}
... figure content ....
\end{adjustwidth}

有关详细信息,请阅读包文档。

我怀疑您在问题中提供的代码是否有效。因此我构建了一个新的 MWE,您可以使用它进行进一步的实验。

\documentclass{article}
    \usepackage{graphicx}
    \usepackage[labelsep=space,
                labelfont={sf,bf},
                textfont=sf]{subfig}
 \begin{document}
    \begin{figure*}
\subfloat[picture 1 \label{fig:picture 1}]
        {\includegraphics[width=0.32\textwidth]{example-image}}
    \hfill
\subfloat[picture 2 \label{fig:picture 2}]
        {\includegraphics[width=0.32\textwidth]{example-image}}
    \hfill
\subfloat[picture 3 \label{fig:picture 3}]
        {\includegraphics[width=0.32\textwidth]{example-image}}
    \vskip\baselineskip
\subfloat[picture 4 \label{fig:picture 4}]
        {\includegraphics[width=0.32\textwidth]{example-image}}
    \hfill
\subfloat[picture 5 \label{fig:picture 5}]
        {\includegraphics[width=0.32\textwidth]{example-image}}
    \hfill
\subfloat[picture 6 \label{fig:picture 6}]
        {\includegraphics[width=0.32\textwidth]{example-image}}
    \vskip\baselineskip
\subfloat[picture 7 \label{fig:picture 7}]
        {\includegraphics[width=0.32\textwidth]{example-image}}
    \hfill
\subfloat[picture 8 \label{fig:picture 8}]
        {\includegraphics[width=0.32\textwidth]{example-image}}
    \hfill
\subfloat[picture 9 \label{fig:picture 9}]
        {\includegraphics[width=0.32\textwidth]{example-image}}
\caption{Insert caption}
    \label{fig:mean and std of nets}
    \end{figure*}
\end{document}

嗯,这可能不是真正的答案,但我希望,它能引导你找到它。

相关内容