在图形环境中对子图形进行排序

在图形环境中对子图形进行排序

我如何对子图进行排序,使得子图 a、b、c 在图的左侧按一个在另一个之上的顺序排列,而只有子图 d 在图的右侧?

\documentclass[11pt]{article}

\usepackage{pgfplots}
\usepackage{graphicx}
\usepackage{caption}
\usepackage{subcaption}
\usepackage{geometry}
\usepackage{float}
\floatstyle{boxed}
\restylefloat{figure}


\begin{document}


\begin{figure}[h]
 \begin{subfigure}{0.5\textwidth}
 \caption{subfig 1}\label{syntaxUW}
 \end{subfigure}    

 \begin{subfigure}{0.5\textwidth}
 \caption{subfig 2}\label{UWBeispiel}
 \end{subfigure}

 \begin{subfigure}{0.5\textwidth}
 \caption{subfig 3}\label{syntaxUW}
 \end{subfigure}

 \begin{subfigure}{0.5\textwidth}
 \caption{subfig 4}\label{syntaxUW}
 \end{subfigure}            

\caption{fig 1}
\label{UWAbb}
\end{figure}

\end{document}

答案1

为此,您有更多可能性。最简单的方法是省略最后一个子图和前一个子图之间的空行。在这种情况下,子图d将与子图垂直对齐c

使用表格环境可以获得更优雅的结果:

\documentclass[11pt]{article}

\usepackage{pgfplots}
\usepackage{graphicx}
\usepackage{caption}
\usepackage{subcaption}
\usepackage{geometry}
\usepackage{float}
\floatstyle{boxed}
\restylefloat{figure}

\usepackage{array}% for m type of column

    \begin{document}
\begin{figure}[h]
    \begin{tabular}{m{0.5\hsize}m{0.5\hsize}}
 \begin{subfigure}{0.5\textwidth}
 \caption{subfig 1}\label{syntaxUW}
 \end{subfigure}

 \begin{subfigure}{0.5\textwidth}
 \caption{subfig 2}\label{UWBeispiel}
 \end{subfigure}

 \begin{subfigure}{0.5\textwidth}
 \caption{subfig 3}\label{syntaxUW}
 \end{subfigure}
    &
 \begin{subfigure}{0.5\textwidth}
 \caption{subfig 4}\label{syntaxUW}
 \end{subfigure}
    \end{tabular}

\caption{fig 1}
\label{UWAbb}
\end{figure}
    \end{document}

在此处输入图片描述

为了使表格列内的子图居中,你可以重新定义列类型为

{>{\centering\arraybackslash}m{0.5\hsize} ...}

相关内容