我有一个由三个子图组成的图形,一个在顶部,两个在底部。目前,两个下面的图形根据其标题的高度对齐。我需要左侧子图更靠近顶部子图,如下图所示。这个子图不需要标题。
我尝试使用 vspace,但没有成功(我还是个初学者)。这是我的代码的 MWE:
\documentclass[french]{report}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage[a4paper]{geometry}
\usepackage{pgfplots}
\usepackage{graphicx}
\usepackage{mwe}
\usepackage{subcaption}
\usepackage{tikz}
\usepackage{tikzscale}
\usepackage{babel}
\begin{document}
\begin{figure}
\centering
\begin{subfigure}{1\linewidth}
\includegraphics[width=0.97\linewidth]{example-image-a}
\caption{Top subfigure caption}
\vspace{0.5cm}
\end{subfigure}
\begin{subfigure}[t]{0.4\linewidth}
\includegraphics[width=0.9\linewidth]{example-image-b}
\end{subfigure}
\begin{subfigure}[t]{0.5\linewidth}
\begin{tikzpicture}% table
\begin{axis}
\addplot table[x=x,y=y] {data.dat};
\end{axis}
\end{tikzpicture}
\caption{Table caption}
\end{subfigure}
\end{figure}
\end{document}
data.dat 包含
x y
1 1
2 4
3 9
4 16
5 25
答案1
可选参数t
是将subfigure
s 与其内容的顶部基线对齐(图像的基线是其下边框)。但这不是您想要的,您希望将它们与上边框对齐。为此T
必须使用以下参数:
\documentclass[french]{report}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage[a4paper]{geometry}
\usepackage{pgfplots}
\usepackage{graphicx}
\usepackage{mwe}
\usepackage{subcaption}
\usepackage{tikz}
\usepackage{tikzscale}
\usepackage{babel}
\begin{document}
\begin{figure}
\centering
\begin{subfigure}{1\linewidth}
\includegraphics[width=0.97\linewidth]{example-image-a}
\caption{Top subfigure caption}
\vspace{0.5cm}
\end{subfigure}
\begin{subfigure}[T]{0.4\linewidth}
\includegraphics[width=0.9\linewidth]{example-image-b}
\end{subfigure}
\begin{subfigure}[T]{0.5\linewidth}
\begin{tikzpicture}% table
\begin{axis}
\addplot table[x=x,y=y] {data.dat};
\end{axis}
\end{tikzpicture}
\caption{Table caption}
\end{subfigure}
\end{figure}
\end{document}